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

   This file is part of the GNU opcodes library.

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

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

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

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

/* Called by aarch64_opcode_lookup.  */

static int
aarch64_opcode_lookup_1 (uint32_t word)
{
  if (((word >> 26) & 0x1) == 0)
    {
      if (((word >> 25) & 0x1) == 0)
        {
          if (((word >> 27) & 0x1) == 0)
            {
              if (((word >> 24) & 0x1) == 0)
                {
                  if (((word >> 28) & 0x1) == 0)
                    {
                      if (((word >> 21) & 0x1) == 0)
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 22) & 0x1) == 0)
                                    {
                                      if (((word >> 23) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x0000000000xxxxxxxxxxxxxxxxxxxxx
                                             udf.  */
                                          return 754;
                                        }
                                      else
                                        {
                                          if (((word >> 3) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0000000100xxxxxxxxxxxxxxxx00xxx
                                                     fmopa.  */
                                                  return 2413;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0000000100xxxxxxxxxxxxxxxx10xxx
                                                     fmops.  */
                                                  return 2416;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0000000100xxxxxxxxxxxxxxxx01xxx
                                                     bmopa.  */
                                                  return 2527;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0000000100xxxxxxxxxxxxxxxx11xxx
                                                     bmops.  */
                                                  return 2528;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 4) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x0000000x10xxxxxxxxxxxxxxxx0xxxx
                                             fmopa.  */
                                          return 2414;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x0000000x10xxxxxxxxxxxxxxxx1xxxx
                                             fmops.  */
                                          return 2417;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 18) & 0x1) == 0)
                                    {
                                      if (((word >> 17) & 0x1) == 0)
                                        {
                                          if (((word >> 19) & 0x1) == 0)
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1000000xx00000xxxxxxxxxxxxxxxxx
                                                     mov.  */
                                                  return 2437;
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1000000x0010000xxxxxxxxxxxxxxxx
                                                             addha.  */
                                                          return 2405;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1000000x1010000xxxxxxxxxxxxxxxx
                                                             addha.  */
                                                          return 2406;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1000000x0010001xxxxxxxxxxxxxxxx
                                                             addva.  */
                                                          return 2409;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1000000x1010001xxxxxxxxxxxxxxxx
                                                             addva.  */
                                                          return 2410;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1000000x00x100xxxxxxxxxxxxxxxxx
                                                     zero.  */
                                                  return 2440;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1000000x10x100xxxxxxxxxxxxxxxxx
                                                     zero.  */
                                                  return 2957;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 19) & 0x1) == 0)
                                            {
                                              if (((word >> 9) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1000000xx0x001xxxxxxx0xxxxxxxxx
                                                     mov.  */
                                                  return 2436;
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000000000x0010xxxxxx1xxxxxxxxx
                                                                 movaz.  */
                                                              return 3312;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000000100x0010xxxxxx1xxxxxxxxx
                                                                 movaz.  */
                                                              return 3314;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000000010x0010xxxxxx1xxxxxxxxx
                                                                 movaz.  */
                                                              return 3313;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000000110x0010xxxxxx1xxxxxxxxx
                                                                 movaz.  */
                                                              return 3315;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1000000xx0x0011xxxxxx1xxxxxxxxx
                                                         movaz.  */
                                                      return 3316;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000000x000101x00xxxxxxxxxxxxxx
                                                                 luti4.  */
                                                              return 3428;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000000x000101x10xxxxxxxxxxxxxx
                                                                 luti4.  */
                                                              return 2671;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1000000x000101xx1xxxxxxxxxxxxxx
                                                             luti4.  */
                                                          return 2670;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1000000x100101xxxxxxxxxxxxxxxxx
                                                         luti4.  */
                                                      return 2669;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1000000xx01101x00xxxxxxxxxxxxxx
                                                             luti4.  */
                                                          return 3429;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1000000xx01101x10xxxxxxxxxxxxxx
                                                             luti4.  */
                                                          return 3309;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1000000xx01101xx1xxxxxxxxxxxxxx
                                                         luti4.  */
                                                      return 3308;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 10) & 0x1) == 0)
                                        {
                                          if (((word >> 11) & 0x1) == 0)
                                            {
                                              if (((word >> 19) & 0x1) == 0)
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1000000xx0x010xxxxx00xxxxxxxxxx
                                                         mov.  */
                                                      return 2678;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 9) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1000000xx0x011xxxxx000xxxxxxxxx
                                                             mov.  */
                                                          return 2674;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000000000x011xxxxx001xxxxxxxxx
                                                                     movaz.  */
                                                                  return 3302;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000000100x011xxxxx001xxxxxxxxx
                                                                     movaz.  */
                                                                  return 3304;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000000010x011xxxxx001xxxxxxxxx
                                                                     movaz.  */
                                                                  return 3303;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000000110x011xxxxx001xxxxxxxxx
                                                                     movaz.  */
                                                                  return 3305;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 20) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 15) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 16) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 17) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000000000011000xxx00xxxxxxxxxx
                                                                             zero.  */
                                                                          return 3317;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000000000011100xxx00xxxxxxxxxx
                                                                             zero.  */
                                                                          return 3318;
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 17) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000000000011010xxx00xxxxxxxxxx
                                                                             zero.  */
                                                                          return 3320;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000000000011110xxx00xxxxxxxxxx
                                                                             zero.  */
                                                                          return 3323;
                                                                        }
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 16) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 17) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000000000011001xxx00xxxxxxxxxx
                                                                             zero.  */
                                                                          return 3319;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000000000011101xxx00xxxxxxxxxx
                                                                             zero.  */
                                                                          return 3322;
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 17) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000000000011011xxx00xxxxxxxxxx
                                                                             zero.  */
                                                                          return 3321;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000000000011111xxx00xxxxxxxxxx
                                                                             zero.  */
                                                                          return 3324;
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 14) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000000100011xxx0xx00xxxxxxxxxx
                                                                     luti2.  */
                                                                  return 2668;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000000100011xxx1xx00xxxxxxxxxx
                                                                     luti2.  */
                                                                  return 2667;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 17) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x100000001001100xxxx00xxxxxxxxxx
                                                                         movt.  */
                                                                      return 2689;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x100000001001110xxxx00xxxxxxxxxx
                                                                         movt.  */
                                                                      return 2688;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000000010011x1xxxx00xxxxxxxxxx
                                                                     movt.  */
                                                                  return 3430;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000000110011xxxxxx00xxxxxxxxxx
                                                                 luti2.  */
                                                              return 2666;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1000000xx0111xxx0xx00xxxxxxxxxx
                                                             luti2.  */
                                                          return 3307;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1000000xx0111xxx1xx00xxxxxxxxxx
                                                             luti2.  */
                                                          return 3306;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 17) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1000000xx0xx10xxxxx10xxxxxxxxxx
                                                     mov.  */
                                                  return 2676;
                                                }
                                              else
                                                {
                                                  if (((word >> 9) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1000000xx0xx11xxxxx100xxxxxxxxx
                                                         mov.  */
                                                      return 2672;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1000000xx0xx11xxxxx101xxxxxxxxx
                                                         movaz.  */
                                                      return 3310;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 11) & 0x1) == 0)
                                            {
                                              if (((word >> 17) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1000000xx0xx10xxxxx01xxxxxxxxxx
                                                     mov.  */
                                                  return 2679;
                                                }
                                              else
                                                {
                                                  if (((word >> 9) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1000000xx0xx11xxxxx010xxxxxxxxx
                                                         mov.  */
                                                      return 2675;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000000000xx11xxxxx011xxxxxxxxx
                                                                 movaz.  */
                                                              return 3298;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000000100xx11xxxxx011xxxxxxxxx
                                                                 movaz.  */
                                                              return 3300;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000000010xx11xxxxx011xxxxxxxxx
                                                                 movaz.  */
                                                              return 3299;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000000110xx11xxxxx011xxxxxxxxx
                                                                 movaz.  */
                                                              return 3301;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 17) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1000000xx0xx10xxxxx11xxxxxxxxxx
                                                     mov.  */
                                                  return 2677;
                                                }
                                              else
                                                {
                                                  if (((word >> 9) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1000000xx0xx11xxxxx110xxxxxxxxx
                                                         mov.  */
                                                      return 2673;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1000000xx0xx11xxxxx111xxxxxxxxx
                                                         movaz.  */
                                                      return 3311;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 22) & 0x1) == 0)
                                {
                                  if (((word >> 23) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 0) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000000xxxxx000xxxxxxxxxxxx0
                                                             ld1b.  */
                                                          return 2605;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000000xxxxx100xxxxxxxxxxxx0
                                                             ld1b.  */
                                                          return 2606;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000000xxxxx010xxxxxxxxxxxx0
                                                             ld1w.  */
                                                          return 2629;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000000xxxxx110xxxxxxxxxxxx0
                                                             ld1w.  */
                                                          return 2630;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000000xxxxx001xxxxxxxxxxxx0
                                                             ld1h.  */
                                                          return 2621;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000000xxxxx101xxxxxxxxxxxx0
                                                             ld1h.  */
                                                          return 2622;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000000xxxxx011xxxxxxxxxxxx0
                                                             ld1d.  */
                                                          return 2613;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000000xxxxx111xxxxxxxxxxxx0
                                                             ld1d.  */
                                                          return 2614;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000000xxxxx000xxxxxxxxxxxx1
                                                             ldnt1b.  */
                                                          return 2637;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000000xxxxx100xxxxxxxxxxxx1
                                                             ldnt1b.  */
                                                          return 2638;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000000xxxxx010xxxxxxxxxxxx1
                                                             ldnt1w.  */
                                                          return 2661;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000000xxxxx110xxxxxxxxxxxx1
                                                             ldnt1w.  */
                                                          return 2662;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000000xxxxx001xxxxxxxxxxxx1
                                                             ldnt1h.  */
                                                          return 2653;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000000xxxxx101xxxxxxxxxxxx1
                                                             ldnt1h.  */
                                                          return 2654;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000000xxxxx011xxxxxxxxxxxx1
                                                             ldnt1d.  */
                                                          return 2645;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000000xxxxx111xxxxxxxxxxxx1
                                                             ldnt1d.  */
                                                          return 2646;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x1100000000xxxxxxxxxxxxxxxxxxxxx
                                             ld1b.  */
                                          return 2441;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 4) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              if (((word >> 3) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0100000100xxxxxxxxxxxxxxxx00xxx
                                                     smopa.  */
                                                  return 2420;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0100000100xxxxxxxxxxxxxxxx01xxx
                                                     smopa.  */
                                                  return 2751;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1100000100xxxxxxxxxxxxxxxx0xxxx
                                                 ld1w.  */
                                              return 2443;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 3) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx100000100xxxxxxxxxxxxxxxx10xxx
                                                 smops.  */
                                              return 2422;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx100000100xxxxxxxxxxxxxxxx11xxx
                                                 smops.  */
                                              return 2752;
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 23) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 0) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000010xxxxx000xxxxxxxxxxxx0
                                                             ld1b.  */
                                                          return 2601;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000010xxxxx100xxxxxxxxxxxx0
                                                             ld1b.  */
                                                          return 2602;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000010xxxxx010xxxxxxxxxxxx0
                                                             ld1w.  */
                                                          return 2625;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000010xxxxx110xxxxxxxxxxxx0
                                                             ld1w.  */
                                                          return 2626;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000010xxxxx001xxxxxxxxxxxx0
                                                             ld1h.  */
                                                          return 2617;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000010xxxxx101xxxxxxxxxxxx0
                                                             ld1h.  */
                                                          return 2618;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000010xxxxx011xxxxxxxxxxxx0
                                                             ld1d.  */
                                                          return 2609;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000010xxxxx111xxxxxxxxxxxx0
                                                             ld1d.  */
                                                          return 2610;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000010xxxxx000xxxxxxxxxxxx1
                                                             ldnt1b.  */
                                                          return 2633;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000010xxxxx100xxxxxxxxxxxx1
                                                             ldnt1b.  */
                                                          return 2634;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000010xxxxx010xxxxxxxxxxxx1
                                                             ldnt1w.  */
                                                          return 2657;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000010xxxxx110xxxxxxxxxxxx1
                                                             ldnt1w.  */
                                                          return 2658;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000010xxxxx001xxxxxxxxxxxx1
                                                             ldnt1h.  */
                                                          return 2649;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000010xxxxx101xxxxxxxxxxxx1
                                                             ldnt1h.  */
                                                          return 2650;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000010xxxxx011xxxxxxxxxxxx1
                                                             ldnt1d.  */
                                                          return 2641;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100000010xxxxx111xxxxxxxxxxxx1
                                                             ldnt1d.  */
                                                          return 2642;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x1100000010xxxxxxxxxxxxxxxxxxxxx
                                             ld1h.  */
                                          return 2442;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 4) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0100000110xxxxxxxxxxxxxxxx0xxxx
                                                 smopa.  */
                                              return 2421;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1100000110xxxxxxxxxxxxxxxx0xxxx
                                                 ld1d.  */
                                              return 2444;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx100000110xxxxxxxxxxxxxxxx1xxxx
                                             smops.  */
                                          return 2423;
                                        }
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 22) & 0x1) == 0)
                            {
                              if (((word >> 23) & 0x1) == 0)
                                {
                                  if (((word >> 30) & 0x1) == 0)
                                    {
                                      if (((word >> 0) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000001xxxxx000xxxxxxxxxxxx0
                                                         st1b.  */
                                                      return 2777;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000001xxxxx100xxxxxxxxxxxx0
                                                         st1b.  */
                                                      return 2778;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000001xxxxx010xxxxxxxxxxxx0
                                                         st1w.  */
                                                      return 2801;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000001xxxxx110xxxxxxxxxxxx0
                                                         st1w.  */
                                                      return 2802;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000001xxxxx001xxxxxxxxxxxx0
                                                         st1h.  */
                                                      return 2793;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000001xxxxx101xxxxxxxxxxxx0
                                                         st1h.  */
                                                      return 2794;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000001xxxxx011xxxxxxxxxxxx0
                                                         st1d.  */
                                                      return 2785;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000001xxxxx111xxxxxxxxxxxx0
                                                         st1d.  */
                                                      return 2786;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000001xxxxx000xxxxxxxxxxxx1
                                                         stnt1b.  */
                                                      return 2809;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000001xxxxx100xxxxxxxxxxxx1
                                                         stnt1b.  */
                                                      return 2810;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000001xxxxx010xxxxxxxxxxxx1
                                                         stnt1w.  */
                                                      return 2833;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000001xxxxx110xxxxxxxxxxxx1
                                                         stnt1w.  */
                                                      return 2834;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000001xxxxx001xxxxxxxxxxxx1
                                                         stnt1h.  */
                                                      return 2825;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000001xxxxx101xxxxxxxxxxxx1
                                                         stnt1h.  */
                                                      return 2826;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000001xxxxx011xxxxxxxxxxxx1
                                                         stnt1d.  */
                                                      return 2817;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000001xxxxx111xxxxxxxxxxxx1
                                                         stnt1d.  */
                                                      return 2818;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         x1x00000001xxxxxxxxxxxxxxxxxxxxx
                                         st1b.  */
                                      return 2451;
                                    }
                                }
                              else
                                {
                                  if (((word >> 4) & 0x1) == 0)
                                    {
                                      if (((word >> 29) & 0x1) == 0)
                                        {
                                          if (((word >> 3) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx000000101xxxxxxxxxxxxxxxx00xxx
                                                 fmopa.  */
                                              return 3496;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx000000101xxxxxxxxxxxxxxxx01xxx
                                                 fmopa.  */
                                              return 3495;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0100000101xxxxxxxxxxxxxxxx0xxxx
                                                 sumopa.  */
                                              return 2424;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1100000101xxxxxxxxxxxxxxxx0xxxx
                                                 st1w.  */
                                              return 2453;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxx00000101xxxxxxxxxxxxxxxx1xxxx
                                         sumops.  */
                                      return 2426;
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 23) & 0x1) == 0)
                                {
                                  if (((word >> 30) & 0x1) == 0)
                                    {
                                      if (((word >> 0) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000011xxxxx000xxxxxxxxxxxx0
                                                         st1b.  */
                                                      return 2773;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000011xxxxx100xxxxxxxxxxxx0
                                                         st1b.  */
                                                      return 2774;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000011xxxxx010xxxxxxxxxxxx0
                                                         st1w.  */
                                                      return 2797;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000011xxxxx110xxxxxxxxxxxx0
                                                         st1w.  */
                                                      return 2798;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000011xxxxx001xxxxxxxxxxxx0
                                                         st1h.  */
                                                      return 2789;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000011xxxxx101xxxxxxxxxxxx0
                                                         st1h.  */
                                                      return 2790;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000011xxxxx011xxxxxxxxxxxx0
                                                         st1d.  */
                                                      return 2781;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000011xxxxx111xxxxxxxxxxxx0
                                                         st1d.  */
                                                      return 2782;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000011xxxxx000xxxxxxxxxxxx1
                                                         stnt1b.  */
                                                      return 2805;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000011xxxxx100xxxxxxxxxxxx1
                                                         stnt1b.  */
                                                      return 2806;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000011xxxxx010xxxxxxxxxxxx1
                                                         stnt1w.  */
                                                      return 2829;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000011xxxxx110xxxxxxxxxxxx1
                                                         stnt1w.  */
                                                      return 2830;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000011xxxxx001xxxxxxxxxxxx1
                                                         stnt1h.  */
                                                      return 2821;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000011xxxxx101xxxxxxxxxxxx1
                                                         stnt1h.  */
                                                      return 2822;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000011xxxxx011xxxxxxxxxxxx1
                                                         stnt1d.  */
                                                      return 2813;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x00000011xxxxx111xxxxxxxxxxxx1
                                                         stnt1d.  */
                                                      return 2814;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         x1x00000011xxxxxxxxxxxxxxxxxxxxx
                                         st1h.  */
                                      return 2452;
                                    }
                                }
                              else
                                {
                                  if (((word >> 4) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x0x00000111xxxxxxxxxxxxxxxx0xxxx
                                             sumopa.  */
                                          return 2425;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x1x00000111xxxxxxxxxxxxxxxx0xxxx
                                             st1d.  */
                                          return 2454;
                                        }
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxx00000111xxxxxxxxxxxxxxxx1xxxx
                                         sumops.  */
                                      return 2427;
                                    }
                                }
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 31) & 0x1) == 0)
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             0xx10000xxxxxxxxxxxxxxxxxxxxxxxx
                             adr.  */
                          return 1221;
                        }
                      else
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             1xx10000xxxxxxxxxxxxxxxxxxxxxxxx
                             adrp.  */
                          return 1222;
                        }
                    }
                }
              else
                {
                  if (((word >> 28) & 0x1) == 0)
                    {
                      if (((word >> 21) & 0x1) == 0)
                        {
                          if (((word >> 22) & 0x1) == 0)
                            {
                              if (((word >> 23) & 0x1) == 0)
                                {
                                  if (((word >> 29) & 0x1) == 0)
                                    {
                                      if (((word >> 4) & 0x1) == 0)
                                        {
                                          if (((word >> 20) & 0x1) == 0)
                                            {
                                              if (((word >> 2) & 0x1) == 0)
                                                {
                                                  if (((word >> 3) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0000010000xxxxxxxxxxxxxxx000xx
                                                         smlall.  */
                                                      return 2727;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0000010000xxxxxxxxxxxxxxx010xx
                                                         smlsll.  */
                                                      return 2743;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx0000010000xxxxxxxxxxxxxxx0x1xx
                                                     usmlall.  */
                                                  return 2932;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 5) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      if (((word >> 3) & 0x1) == 0)
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx0000010001xxxx0xx0xxxxxx000xxx
                                                                 smlall.  */
                                                              return 2728;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 6) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0000010001xxxx1xx0xxxxx0000xxx
                                                                     smlall.  */
                                                                  return 2729;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0000010001xxxx1xx0xxxxx1000xxx
                                                                     fmlall.  */
                                                                  return 3489;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx0000010001xxxx0xx0xxxxxx001xxx
                                                                 smlsll.  */
                                                              return 2744;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx0000010001xxxx1xx0xxxxxx001xxx
                                                                 smlsll.  */
                                                              return 2745;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0000010001xxxxxxx1xxxxxx00xxxx
                                                         fdot.  */
                                                      return 3474;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0000010001xxxx0xxxxxxxxx10xxxx
                                                         usmlall.  */
                                                      return 2933;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0000010001xxxx1xxxxxxxxx10xxxx
                                                         usmlall.  */
                                                      return 2934;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 3) & 0x1) == 0)
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  if (((word >> 2) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0000010000xxxxxxxxxxxxxxx100xx
                                                         umlall.  */
                                                      return 2890;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0000010000xxxxxxxxxxxxxxx101xx
                                                         sumlall.  */
                                                      return 2848;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 5) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0000010001xxxx0xxxxxxxxx010xxx
                                                             umlall.  */
                                                          return 2891;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0000010001xxxx1xxxxxxxxx010xxx
                                                             umlall.  */
                                                          return 2892;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0000010001xxxx0xxxxxxxxx110xxx
                                                             sumlall.  */
                                                          return 2849;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0000010001xxxx1xxxxxxxxx110xxx
                                                             sumlall.  */
                                                          return 2850;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx0000010000xxxxxxxxxxxxxxx11xxx
                                                     umlsll.  */
                                                  return 2906;
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0000010001xxxx0xxxxxxxxxx11xxx
                                                         umlsll.  */
                                                      return 2907;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0000010001xxxx1xxxxxxxxxx11xxx
                                                         umlsll.  */
                                                      return 2908;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              if (((word >> 3) & 0x1) == 0)
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001000xxxxx000xxxxxxxxx0xxx
                                                             ld1b.  */
                                                          return 2607;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001000xxxxx010xxxxxxxxx0xxx
                                                             ld1w.  */
                                                          return 2631;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001000xxxxx001xxxxxxxxx0xxx
                                                             ld1h.  */
                                                          return 2623;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001000xxxxx011xxxxxxxxx0xxx
                                                             ld1d.  */
                                                          return 2615;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001000xxxxx000xxxxxxxxx1xxx
                                                             ldnt1b.  */
                                                          return 2639;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001000xxxxx010xxxxxxxxx1xxx
                                                             ldnt1w.  */
                                                          return 2663;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001000xxxxx001xxxxxxxxx1xxx
                                                             ldnt1h.  */
                                                          return 2655;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001000xxxxx011xxxxxxxxx1xxx
                                                             ldnt1d.  */
                                                          return 2647;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1100001000xxxxx0xxxxxxxxxxxxxxx
                                                 ldr.  */
                                              return 2461;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 3) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001000xxxxx100xxxxxxxxx0xxx
                                                             ld1b.  */
                                                          return 2608;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1100001000xxxxx100xxxxxxxxx0xxx
                                                             ldr.  */
                                                          return 2665;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001000xxxxx110xxxxxxxxx0xxx
                                                         ld1w.  */
                                                      return 2632;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001000xxxxx101xxxxxxxxx0xxx
                                                         ld1h.  */
                                                      return 2624;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001000xxxxx111xxxxxxxxx0xxx
                                                         ld1d.  */
                                                      return 2616;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001000xxxxx100xxxxxxxxx1xxx
                                                         ldnt1b.  */
                                                      return 2640;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001000xxxxx110xxxxxxxxx1xxx
                                                         ldnt1w.  */
                                                      return 2664;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001000xxxxx101xxxxxxxxx1xxx
                                                         ldnt1h.  */
                                                      return 2656;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001000xxxxx111xxxxxxxxx1xxx
                                                         ldnt1d.  */
                                                      return 2648;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 4) & 0x1) == 0)
                                    {
                                      if (((word >> 29) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0000001100xxxxxxxxxxxxxxxx0xxxx
                                                 bfmopa.  */
                                              return 2411;
                                            }
                                          else
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 3) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x10000011000xxxxxxx0xxxxxxx00xxx
                                                             smlall.  */
                                                          return 2964;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 5) & 0x1) == 0)
                                                            {
                                                              if (((word >> 15) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011001xxxx0xx0xxxxxx000xxx
                                                                     smlall.  */
                                                                  return 2965;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011001xxxx1xx0xxxxxx000xxx
                                                                     smlall.  */
                                                                  return 2966;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x10000011001xxxxxxx0xxxxxx100xxx
                                                                 fmlall.  */
                                                              return 3488;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x10000011000xxxxxxx0xxxxxxx01xxx
                                                             smlsll.  */
                                                          return 2967;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x10000011001xxxx0xx0xxxxxxx01xxx
                                                                 smlsll.  */
                                                              return 2968;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x10000011001xxxx1xx0xxxxxxx01xxx
                                                                 smlsll.  */
                                                              return 2969;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 20) & 0x1) == 0)
                                                    {
                                                      if (((word >> 3) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x10000011000xxxxxxx1xxxxxxx00xxx
                                                             fmlal.  */
                                                          return 2568;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x10000011000xxxxxxx1xxxxxxx01xxx
                                                             fmlsl.  */
                                                          return 2582;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 5) & 0x1) == 0)
                                                        {
                                                          if (((word >> 3) & 0x1) == 0)
                                                            {
                                                              if (((word >> 15) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011001xxxx0xx1xxxxxx000xxx
                                                                     fmlal.  */
                                                                  return 2569;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011001xxxx1xx1xxxxxx000xxx
                                                                     fmlal.  */
                                                                  return 2570;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 15) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011001xxxx0xx1xxxxxx001xxx
                                                                     fmlsl.  */
                                                                  return 2583;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011001xxxx1xx1xxxxxx001xxx
                                                                     fmlsl.  */
                                                                  return 2584;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x10000011001xxxxxxx1xxxxxx10xxxx
                                                             fmlal.  */
                                                          return 3481;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 3) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx100001100xxxxxxxxxxxxxxxx00xxx
                                                 usmopa.  */
                                              return 2432;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx100001100xxxxxxxxxxxxxxxx01xxx
                                                 umopa.  */
                                              return 2914;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 29) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0000001100xxxxxxxxxxxxxxxx1xxxx
                                                 bfmops.  */
                                              return 2412;
                                            }
                                          else
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 3) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x10000011000xxxxxxx0xxxxxxx10xxx
                                                             umlall.  */
                                                          return 2973;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x10000011001xxxx0xx0xxxxxxx10xxx
                                                                 umlall.  */
                                                              return 2974;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x10000011001xxxx1xx0xxxxxxx10xxx
                                                                 umlall.  */
                                                              return 2975;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x10000011000xxxxxxx0xxxxxxx11xxx
                                                             umlsll.  */
                                                          return 2976;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x10000011001xxxx0xx0xxxxxxx11xxx
                                                                 umlsll.  */
                                                              return 2977;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x10000011001xxxx1xx0xxxxxxx11xxx
                                                                 umlsll.  */
                                                              return 2978;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 20) & 0x1) == 0)
                                                    {
                                                      if (((word >> 3) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x10000011000xxxxxxx1xxxxxxx10xxx
                                                             bfmlal.  */
                                                          return 2510;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x10000011000xxxxxxx1xxxxxxx11xxx
                                                             bfmlsl.  */
                                                          return 2518;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 5) & 0x1) == 0)
                                                        {
                                                          if (((word >> 3) & 0x1) == 0)
                                                            {
                                                              if (((word >> 15) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011001xxxx0xx1xxxxxx010xxx
                                                                     bfmlal.  */
                                                                  return 2511;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011001xxxx1xx1xxxxxx010xxx
                                                                     bfmlal.  */
                                                                  return 2512;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 15) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011001xxxx0xx1xxxxxx011xxx
                                                                     bfmlsl.  */
                                                                  return 2519;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011001xxxx1xx1xxxxxx011xxx
                                                                     bfmlsl.  */
                                                                  return 2520;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x10000011001xxxxxxx1xxxxxx11xxxx
                                                             fmlal.  */
                                                          return 3480;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 3) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx100001100xxxxxxxxxxxxxxxx10xxx
                                                 usmops.  */
                                              return 2434;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx100001100xxxxxxxxxxxxxxxx11xxx
                                                 umops.  */
                                              return 2915;
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 23) & 0x1) == 0)
                                {
                                  if (((word >> 3) & 0x1) == 0)
                                    {
                                      if (((word >> 20) & 0x1) == 0)
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx0000010100xxxxxxxxxxxxxxxx0xxx
                                                 fmlall.  */
                                              return 3487;
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1000010100xxxx000xxxxxxxxx0xxx
                                                             ld1b.  */
                                                          return 2603;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1000010100xxxx100xxxxxxxxx0xxx
                                                             ld1b.  */
                                                          return 2604;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1000010100xxxx010xxxxxxxxx0xxx
                                                             ld1w.  */
                                                          return 2627;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1000010100xxxx110xxxxxxxxx0xxx
                                                             ld1w.  */
                                                          return 2628;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1000010100xxxx001xxxxxxxxx0xxx
                                                             ld1h.  */
                                                          return 2619;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1000010100xxxx101xxxxxxxxx0xxx
                                                             ld1h.  */
                                                          return 2620;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1000010100xxxx011xxxxxxxxx0xxx
                                                             ld1d.  */
                                                          return 2611;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1000010100xxxx111xxxxxxxxx0xxx
                                                             ld1d.  */
                                                          return 2612;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 4) & 0x1) == 0)
                                            {
                                              if (((word >> 5) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx0xx0xxxxxx000xxx
                                                             fmla.  */
                                                          return 2562;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx1xx0xxxxxx000xxx
                                                             fmla.  */
                                                          return 2563;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx0xx1xxxxxx000xxx
                                                             sdot.  */
                                                          return 2697;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx1xx1xxxxxx000xxx
                                                             sdot.  */
                                                          return 2698;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx0xx0xxxxxx100xxx
                                                             svdot.  */
                                                          return 2856;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx1xx0xxxxxx100xxx
                                                             svdot.  */
                                                          return 2857;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx0xx1xxxxxx100xxx
                                                             sdot.  */
                                                          return 2703;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx1xx1xxxxxx100xxx
                                                             sdot.  */
                                                          return 2704;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 5) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx0xx0xxxxxx010xxx
                                                             fmls.  */
                                                          return 2576;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx1xx0xxxxxx010xxx
                                                             fmls.  */
                                                          return 2577;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx0xx1xxxxxx010xxx
                                                             udot.  */
                                                          return 2862;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx1xx1xxxxxx010xxx
                                                             udot.  */
                                                          return 2863;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx0xx0xxxxxx110xxx
                                                             uvdot.  */
                                                          return 2943;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx1xx0xxxxxx110xxx
                                                             uvdot.  */
                                                          return 2944;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx0xx1xxxxxx110xxx
                                                             udot.  */
                                                          return 2868;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx1xx1xxxxxx110xxx
                                                             udot.  */
                                                          return 2869;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          if (((word >> 20) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx000010100xxxx000xxxxxxxxx1xxx
                                                         ldnt1b.  */
                                                      return 2635;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx000010100xxxx010xxxxxxxxx1xxx
                                                         ldnt1w.  */
                                                      return 2659;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx000010100xxxx001xxxxxxxxx1xxx
                                                         ldnt1h.  */
                                                      return 2651;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx000010100xxxx011xxxxxxxxx1xxx
                                                         ldnt1d.  */
                                                      return 2643;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  if (((word >> 5) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx0xx0xxxxxx001xxx
                                                             fvdot.  */
                                                          return 2600;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx0xx1xxxxxx001xxx
                                                             fdot.  */
                                                          return 2540;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx000010101xxxx0xxxxxxxxx101xxx
                                                         usdot.  */
                                                      return 2926;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 5) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx0xx0xxxxxx011xxx
                                                             bfvdot.  */
                                                          return 2526;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx0xx1xxxxxx011xxx
                                                             bfdot.  */
                                                          return 2504;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx0xx0xxxxxx111xxx
                                                             fdot.  */
                                                          return 3467;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx0xx1xxxxxx111xxx
                                                             sudot.  */
                                                          return 2844;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 20) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx000010100xxxx100xxxxxxxxx1xxx
                                                         ldnt1b.  */
                                                      return 2636;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx000010100xxxx110xxxxxxxxx1xxx
                                                         ldnt1w.  */
                                                      return 2660;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx000010100xxxx101xxxxxxxxx1xxx
                                                         ldnt1h.  */
                                                      return 2652;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx000010100xxxx111xxxxxxxxx1xxx
                                                         ldnt1d.  */
                                                      return 2644;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  if (((word >> 5) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx1xx0xxxxxx001xxx
                                                             fdot.  */
                                                          return 3468;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx1xx1xxxxxx001xxx
                                                             fdot.  */
                                                          return 2541;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx1xx0xxxxxx101xxx
                                                             usvdot.  */
                                                          return 2940;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx1xx1xxxxxx101xxx
                                                             usdot.  */
                                                          return 2927;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 5) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx000010101xxxx1xxxxxxxxx011xxx
                                                         bfdot.  */
                                                      return 2505;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx1xx0xxxxxx111xxx
                                                             suvdot.  */
                                                          return 2855;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx000010101xxxx1xx1xxxxxx111xxx
                                                             sudot.  */
                                                          return 2845;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 4) & 0x1) == 0)
                                    {
                                      if (((word >> 29) & 0x1) == 0)
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx0000011100xxxxxxx0xxxxxxx0xxxx
                                                     fmlal.  */
                                                  return 3479;
                                                }
                                              else
                                                {
                                                  if (((word >> 5) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          if (((word >> 3) & 0x1) == 0)
                                                            {
                                                              if (((word >> 15) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0000011101xxxx0xx00xxxxx000xxx
                                                                     fmla.  */
                                                                  return 2980;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0000011101xxxx1xx00xxxxx000xxx
                                                                     fmla.  */
                                                                  return 2981;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 15) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0000011101xxxx0xx00xxxxx001xxx
                                                                     sdot.  */
                                                                  return 2962;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0000011101xxxx1xx00xxxxx001xxx
                                                                     sdot.  */
                                                                  return 2963;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx0000011101xxxx0xx01xxxxx00xxxx
                                                                 fvdotb.  */
                                                              return 3498;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx0000011101xxxx1xx01xxxxx00xxxx
                                                                 svdot.  */
                                                              return 2970;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0000011101xxxxxxx0xxxxxx10xxxx
                                                         fdot.  */
                                                      return 3473;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  if (((word >> 3) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0000011100xxxxxxx1xxxxxxx00xxx
                                                         smlal.  */
                                                      return 2719;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0000011100xxxxxxx1xxxxxxx01xxx
                                                         smlsl.  */
                                                      return 2735;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 5) & 0x1) == 0)
                                                    {
                                                      if (((word >> 3) & 0x1) == 0)
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx0000011101xxxx0xx1xxxxxx000xxx
                                                                 smlal.  */
                                                              return 2720;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx0000011101xxxx1xx1xxxxxx000xxx
                                                                 smlal.  */
                                                              return 2721;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx0000011101xxxx0xx1xxxxxx001xxx
                                                                 smlsl.  */
                                                              return 2736;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx0000011101xxxx1xx1xxxxxx001xxx
                                                                 smlsl.  */
                                                              return 2737;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0000011101xxxxxxx1xxxxxx10xxxx
                                                         fvdot.  */
                                                      return 3497;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0100001110xxxxxxxxxxxxxxxx0xxxx
                                                 usmopa.  */
                                              return 2433;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1100001110xxxxxxxxxxxxxxxx0xxxx
                                                 ld1q.  */
                                              return 2445;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 29) & 0x1) == 0)
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 11) & 0x1) == 0)
                                                {
                                                  if (((word >> 3) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx000001110xxxxx0xx00xxxxxx10xxx
                                                             fmls.  */
                                                          return 2982;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx000001110xxxxx1xx00xxxxxx10xxx
                                                             fmls.  */
                                                          return 2983;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx000001110xxxxx0xx00xxxxxx11xxx
                                                             udot.  */
                                                          return 2971;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx000001110xxxxx1xx00xxxxxx11xxx
                                                             udot.  */
                                                          return 2972;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx000001110xxxxx0xx01xxxxxx1xxxx
                                                         fvdott.  */
                                                      return 3499;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx000001110xxxxx1xx01xxxxxx1xxxx
                                                         uvdot.  */
                                                      return 2979;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 3) & 0x1) == 0)
                                                {
                                                  if (((word >> 20) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0000011100xxxxxxx1xxxxxxx10xxx
                                                         umlal.  */
                                                      return 2882;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0000011101xxxx0xx1xxxxxxx10xxx
                                                             umlal.  */
                                                          return 2883;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0000011101xxxx1xx1xxxxxxx10xxx
                                                             umlal.  */
                                                          return 2884;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 20) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0000011100xxxxxxx1xxxxxxx11xxx
                                                         umlsl.  */
                                                      return 2898;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0000011101xxxx0xx1xxxxxxx11xxx
                                                             umlsl.  */
                                                          return 2899;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0000011101xxxx1xx1xxxxxxx11xxx
                                                             umlsl.  */
                                                          return 2900;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx100001110xxxxxxxxxxxxxxxx1xxxx
                                             usmops.  */
                                          return 2435;
                                        }
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 4) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         x0000001xx1xxxxxxxxxxxxxxxx0xxxx
                                         fmopa.  */
                                      return 2415;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         x0000001xx1xxxxxxxxxxxxxxxx1xxxx
                                         fmops.  */
                                      return 2418;
                                    }
                                }
                              else
                                {
                                  if (((word >> 15) & 0x1) == 0)
                                    {
                                      if (((word >> 3) & 0x1) == 0)
                                        {
                                          if (((word >> 4) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 1) & 0x1) == 0)
                                                            {
                                                              if (((word >> 2) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 20) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x10000010x10xxxx0xx000xxxxx0000x
                                                                             smlall.  */
                                                                          return 2731;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x10000010x11xxxx0xx000xxxxx0000x
                                                                             smlall.  */
                                                                          return 2732;
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 5) & 0x1) == 0)
                                                                        {
                                                                          if (((word >> 16) & 0x1) == 0)
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x10000011x1xxxx00xx000xxxx00000x
                                                                                 smlall.  */
                                                                              return 2733;
                                                                            }
                                                                          else
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x10000011x1xxxx10xx000xxxx00000x
                                                                                 smlall.  */
                                                                              return 2734;
                                                                            }
                                                                        }
                                                                      else
                                                                        {
                                                                          if (((word >> 16) & 0x1) == 0)
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x10000011x1xxxx00xx000xxxx10000x
                                                                                 fmlall.  */
                                                                              return 3493;
                                                                            }
                                                                          else
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x10000011x1xxxx10xx000xxxx10000x
                                                                                 fmlall.  */
                                                                              return 3494;
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 20) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x10000010x10xxxx0xx000xxxxx0010x
                                                                             usmlall.  */
                                                                          return 2936;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x10000010x11xxxx0xx000xxxxx0010x
                                                                             usmlall.  */
                                                                          return 2937;
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 16) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x10000011x1xxxx00xx000xxxxx0010x
                                                                             usmlall.  */
                                                                          return 2938;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x10000011x1xxxx10xx000xxxxx0010x
                                                                             usmlall.  */
                                                                          return 2939;
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx10xxxx0xx000xxxxx00x1x
                                                                     fmlall.  */
                                                                  return 3491;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx11xxxx0xx000xxxxx00x1x
                                                                     fmlall.  */
                                                                  return 3492;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x10xxxx0xx100xxxxx00xxx
                                                                     fdot.  */
                                                                  return 2542;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x11xxxx0xx100xxxxx00xxx
                                                                     fdot.  */
                                                                  return 2543;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 5) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 16) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000011x1xxxx00xx100xxxx000xxx
                                                                         fdot.  */
                                                                      return 2544;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000011x1xxxx10xx100xxxx000xxx
                                                                         fdot.  */
                                                                      return 2545;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 16) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000011x1xxxx00xx100xxxx100xxx
                                                                         fdot.  */
                                                                      return 3477;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000011x1xxxx10xx100xxxx100xxx
                                                                         fdot.  */
                                                                      return 3478;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 2) & 0x1) == 0)
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 20) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x10000010010xxxx0xx010xxxxx000xx
                                                                             fmlal.  */
                                                                          return 2572;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x10000010011xxxx0xx010xxxxx000xx
                                                                             fmlal.  */
                                                                          return 2573;
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 5) & 0x1) == 0)
                                                                        {
                                                                          if (((word >> 16) & 0x1) == 0)
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001101xxxx00xx010xxxx0000xx
                                                                                 fmlal.  */
                                                                              return 2574;
                                                                            }
                                                                          else
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001101xxxx10xx010xxxx0000xx
                                                                                 fmlal.  */
                                                                              return 2575;
                                                                            }
                                                                        }
                                                                      else
                                                                        {
                                                                          if (((word >> 16) & 0x1) == 0)
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001101xxxx00xx010xxxx1000xx
                                                                                 fmlal.  */
                                                                              return 3485;
                                                                            }
                                                                          else
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001101xxxx10xx010xxxx1000xx
                                                                                 fmlal.  */
                                                                              return 3486;
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 20) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x10000010110xxxx0xx010xxxxx000xx
                                                                             smlal.  */
                                                                          return 2723;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x10000010111xxxx0xx010xxxxx000xx
                                                                             smlal.  */
                                                                          return 2724;
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 16) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000001111xxxx00xx010xxxxx000xx
                                                                             smlal.  */
                                                                          return 2725;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000001111xxxx10xx010xxxxx000xx
                                                                             smlal.  */
                                                                          return 2726;
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx10xxxx0xx010xxxxx001xx
                                                                     fmlal.  */
                                                                  return 3483;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx11xxxx0xx010xxxxx001xx
                                                                     fmlal.  */
                                                                  return 3484;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x10xxxx0xx110xxxxx00xxx
                                                                     fmla.  */
                                                                  return 2564;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x11xxxx0xx110xxxxx00xxx
                                                                     fmla.  */
                                                                  return 2565;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011x1xxxx00xx110xxxxx00xxx
                                                                     fmla.  */
                                                                  return 2566;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011x1xxxx10xx110xxxxx00xxx
                                                                     fmla.  */
                                                                  return 2567;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 2) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx10xxxx0xx001xxxxx000xx
                                                                     smlall.  */
                                                                  return 2730;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx11xxxx0xx001xxxxx000xx
                                                                     fmlall.  */
                                                                  return 3490;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx1xxxxx0xx001xxxxx001xx
                                                                 usmlall.  */
                                                              return 2935;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x10xxxx0xx101xxxxx00xxx
                                                                     sdot.  */
                                                                  return 2705;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x11xxxx0xx101xxxxx00xxx
                                                                     sdot.  */
                                                                  return 2706;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011x1xxxx00xx101xxxxx00xxx
                                                                     sdot.  */
                                                                  return 2707;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011x1xxxx10xx101xxxxx00xxx
                                                                     sdot.  */
                                                                  return 2708;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001x010xxxx0xx011xxxxx00xxx
                                                                     fmlal.  */
                                                                  return 2571;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001x110xxxx0xx011xxxxx00xxx
                                                                     smlal.  */
                                                                  return 2722;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx11xxxx0xx011xxxxx00xxx
                                                                 fmlal.  */
                                                              return 3482;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              if (((word >> 18) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xx0x00xx111xxxxx00xxx
                                                                     fadd.  */
                                                                  return 2530;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xx1x00xx111xxxxx00xxx
                                                                     fadd.  */
                                                                  return 3431;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 18) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xx0x10xx111xxxxx00xxx
                                                                     fadd.  */
                                                                  return 2531;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xx1x10xx111xxxxx00xxx
                                                                     fadd.  */
                                                                  return 3432;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 2) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 20) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010x10xxxx0xx000xxxxx100xx
                                                                         umlall.  */
                                                                      return 2894;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010x11xxxx0xx000xxxxx100xx
                                                                         umlall.  */
                                                                      return 2895;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 16) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000011x1xxxx00xx000xxxxx100xx
                                                                         umlall.  */
                                                                      return 2896;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000011x1xxxx10xx000xxxxx100xx
                                                                         umlall.  */
                                                                      return 2897;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx10xxxx0xx000xxxxx101xx
                                                                     sumlall.  */
                                                                  return 2851;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx11xxxx0xx000xxxxx101xx
                                                                     sumlall.  */
                                                                  return 2852;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x10xxxx0xx100xxxxx10xxx
                                                                     bfdot.  */
                                                                  return 2506;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x11xxxx0xx100xxxxx10xxx
                                                                     bfdot.  */
                                                                  return 2507;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 5) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 16) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000011x1xxxx00xx100xxxx010xxx
                                                                         bfdot.  */
                                                                      return 2508;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000011x1xxxx10xx100xxxx010xxx
                                                                         bfdot.  */
                                                                      return 2509;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 16) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000011x1xxxx00xx100xxxx110xxx
                                                                         fdot.  */
                                                                      return 3471;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000011x1xxxx10xx100xxxx110xxx
                                                                         fdot.  */
                                                                      return 3472;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 20) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010010xxxx0xx010xxxxx10xxx
                                                                         bfmlal.  */
                                                                      return 2514;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010011xxxx0xx010xxxxx10xxx
                                                                         bfmlal.  */
                                                                      return 2515;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 16) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001101xxxx00xx010xxxxx10xxx
                                                                         bfmlal.  */
                                                                      return 2516;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001101xxxx10xx010xxxxx10xxx
                                                                         bfmlal.  */
                                                                      return 2517;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 20) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010110xxxx0xx010xxxxx10xxx
                                                                         umlal.  */
                                                                      return 2886;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010111xxxx0xx010xxxxx10xxx
                                                                         umlal.  */
                                                                      return 2887;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 16) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001111xxxx00xx010xxxxx10xxx
                                                                         umlal.  */
                                                                      return 2888;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001111xxxx10xx010xxxxx10xxx
                                                                         umlal.  */
                                                                      return 2889;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x10xxxx0xx110xxxxx10xxx
                                                                     add.  */
                                                                  return 2496;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x11xxxx0xx110xxxxx10xxx
                                                                     add.  */
                                                                  return 2497;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011x1xxxx00xx110xxxxx10xxx
                                                                     add.  */
                                                                  return 2498;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011x1xxxx10xx110xxxxx10xxx
                                                                     add.  */
                                                                  return 2499;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1000001xx1xxxxx0xx001xxxxx10xxx
                                                             umlall.  */
                                                          return 2893;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x10xxxx0xx101xxxxx10xxx
                                                                     udot.  */
                                                                  return 2870;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x11xxxx0xx101xxxxx10xxx
                                                                     udot.  */
                                                                  return 2871;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011x1xxxx00xx101xxxxx10xxx
                                                                     udot.  */
                                                                  return 2872;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011x1xxxx10xx101xxxxx10xxx
                                                                     udot.  */
                                                                  return 2873;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001x01xxxxx0xx011xxxxx10xxx
                                                                 bfmlal.  */
                                                              return 2513;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001x11xxxxx0xx011xxxxx10xxx
                                                                 umlal.  */
                                                              return 2885;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx1xxxx00xx111xxxxx10xxx
                                                                 add.  */
                                                              return 2494;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx1xxxx10xx111xxxxx10xxx
                                                                 add.  */
                                                              return 2495;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 4) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x10xxxx0xx000xxxxx01xxx
                                                                     smlsll.  */
                                                                  return 2747;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x11xxxx0xx000xxxxx01xxx
                                                                     smlsll.  */
                                                                  return 2748;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011x1xxxx00xx000xxxxx01xxx
                                                                     smlsll.  */
                                                                  return 2749;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011x1xxxx10xx000xxxxx01xxx
                                                                     smlsll.  */
                                                                  return 2750;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx10xxxx0xx100xxxxx01xxx
                                                                 fdot.  */
                                                              return 3475;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx11xxxx0xx100xxxxx01xxx
                                                                 fdot.  */
                                                              return 3476;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 20) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010010xxxx0xx010xxxxx01xxx
                                                                         fmlsl.  */
                                                                      return 2586;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010011xxxx0xx010xxxxx01xxx
                                                                         fmlsl.  */
                                                                      return 2587;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 16) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001101xxxx00xx010xxxxx01xxx
                                                                         fmlsl.  */
                                                                      return 2588;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001101xxxx10xx010xxxxx01xxx
                                                                         fmlsl.  */
                                                                      return 2589;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 20) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010110xxxx0xx010xxxxx01xxx
                                                                         smlsl.  */
                                                                      return 2739;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010111xxxx0xx010xxxxx01xxx
                                                                         smlsl.  */
                                                                      return 2740;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 16) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001111xxxx00xx010xxxxx01xxx
                                                                         smlsl.  */
                                                                      return 2741;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001111xxxx10xx010xxxxx01xxx
                                                                         smlsl.  */
                                                                      return 2742;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x10xxxx0xx110xxxxx01xxx
                                                                     fmls.  */
                                                                  return 2578;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x11xxxx0xx110xxxxx01xxx
                                                                     fmls.  */
                                                                  return 2579;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011x1xxxx00xx110xxxxx01xxx
                                                                     fmls.  */
                                                                  return 2580;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011x1xxxx10xx110xxxxx01xxx
                                                                     fmls.  */
                                                                  return 2581;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1000001xx1xxxxx0xx001xxxxx01xxx
                                                             smlsll.  */
                                                          return 2746;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 20) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010010xxxx0xx101xxxxx01xxx
                                                                         usdot.  */
                                                                      return 2928;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010011xxxx0xx101xxxxx01xxx
                                                                         usdot.  */
                                                                      return 2929;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 16) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001101xxxx00xx101xxxxx01xxx
                                                                         usdot.  */
                                                                      return 2930;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001101xxxx10xx101xxxxx01xxx
                                                                         usdot.  */
                                                                      return 2931;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 20) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010110xxxx0xx101xxxxx01xxx
                                                                         sdot.  */
                                                                      return 2699;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010111xxxx0xx101xxxxx01xxx
                                                                         sdot.  */
                                                                      return 2700;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 16) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001111xxxx00xx101xxxxx01xxx
                                                                         sdot.  */
                                                                      return 2701;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001111xxxx10xx101xxxxx01xxx
                                                                         sdot.  */
                                                                      return 2702;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001x01xxxxx0xx011xxxxx01xxx
                                                                 fmlsl.  */
                                                              return 2585;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001x11xxxxx0xx011xxxxx01xxx
                                                                 smlsl.  */
                                                              return 2738;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              if (((word >> 18) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xx0x00xx111xxxxx01xxx
                                                                     fsub.  */
                                                                  return 2598;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xx1x00xx111xxxxx01xxx
                                                                     fsub.  */
                                                                  return 3433;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 18) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xx0x10xx111xxxxx01xxx
                                                                     fsub.  */
                                                                  return 2599;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xx1x10xx111xxxxx01xxx
                                                                     fsub.  */
                                                                  return 3434;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x10xxxx0xx000xxxxx11xxx
                                                                     umlsll.  */
                                                                  return 2910;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x11xxxx0xx000xxxxx11xxx
                                                                     umlsll.  */
                                                                  return 2911;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011x1xxxx00xx000xxxxx11xxx
                                                                     umlsll.  */
                                                                  return 2912;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011x1xxxx10xx000xxxxx11xxx
                                                                     umlsll.  */
                                                                  return 2913;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx10xxxx0xx100xxxxx11xxx
                                                                 fdot.  */
                                                              return 3469;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx11xxxx0xx100xxxxx11xxx
                                                                 fdot.  */
                                                              return 3470;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 20) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010010xxxx0xx010xxxxx11xxx
                                                                         bfmlsl.  */
                                                                      return 2522;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010011xxxx0xx010xxxxx11xxx
                                                                         bfmlsl.  */
                                                                      return 2523;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 16) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001101xxxx00xx010xxxxx11xxx
                                                                         bfmlsl.  */
                                                                      return 2524;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001101xxxx10xx010xxxxx11xxx
                                                                         bfmlsl.  */
                                                                      return 2525;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 20) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010110xxxx0xx010xxxxx11xxx
                                                                         umlsl.  */
                                                                      return 2902;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010111xxxx0xx010xxxxx11xxx
                                                                         umlsl.  */
                                                                      return 2903;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 16) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001111xxxx00xx010xxxxx11xxx
                                                                         umlsl.  */
                                                                      return 2904;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001111xxxx10xx010xxxxx11xxx
                                                                         umlsl.  */
                                                                      return 2905;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x10xxxx0xx110xxxxx11xxx
                                                                     sub.  */
                                                                  return 2840;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000010x11xxxx0xx110xxxxx11xxx
                                                                     sub.  */
                                                                  return 2841;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011x1xxxx00xx110xxxxx11xxx
                                                                     sub.  */
                                                                  return 2842;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x10000011x1xxxx10xx110xxxxx11xxx
                                                                     sub.  */
                                                                  return 2843;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1000001xx1xxxxx0xx001xxxxx11xxx
                                                             umlsll.  */
                                                          return 2909;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001x010xxxx0xx101xxxxx11xxx
                                                                     sudot.  */
                                                                  return 2846;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001x011xxxx0xx101xxxxx11xxx
                                                                     sudot.  */
                                                                  return 2847;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 20) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010110xxxx0xx101xxxxx11xxx
                                                                         udot.  */
                                                                      return 2864;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x10000010111xxxx0xx101xxxxx11xxx
                                                                         udot.  */
                                                                      return 2865;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 16) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001111xxxx00xx101xxxxx11xxx
                                                                         udot.  */
                                                                      return 2866;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001111xxxx10xx101xxxxx11xxx
                                                                         udot.  */
                                                                      return 2867;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001x01xxxxx0xx011xxxxx11xxx
                                                                 bfmlsl.  */
                                                              return 2521;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001x11xxxxx0xx011xxxxx11xxx
                                                                 umlsl.  */
                                                              return 2901;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx1xxxx00xx111xxxxx11xxx
                                                                 sub.  */
                                                              return 2838;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx1xxxx10xx111xxxxx11xxx
                                                                 sub.  */
                                                              return 2839;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1000001xx1xxxx0100xxxxxxxxxxxxx
                                                     sel.  */
                                                  return 2709;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1000001xx1xxxx1100xxxxxxxxxxxxx
                                                     sel.  */
                                                  return 2710;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 0) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx1xxxxx110000xxxxxxxxx0
                                                                 fclamp.  */
                                                              return 2532;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx1xxxxx110100xxxxxxxxx0
                                                                 zip.  */
                                                              return 2958;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1000001xx1xxxxx110x00xxxxxxxxx1
                                                             uzp.  */
                                                          return 2945;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1000001xx1xxxxx110010xxxxxxxxxx
                                                             fclamp.  */
                                                          return 2533;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 5) & 0x1) == 0)
                                                            {
                                                              if (((word >> 6) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xxxxx110110xxx00xxxxx
                                                                     sqrshr.  */
                                                                  return 2764;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xxxxx110110xxx10xxxxx
                                                                     sqrshru.  */
                                                                  return 2767;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx1xxxxx110110xxxx1xxxxx
                                                                 uqrshr.  */
                                                              return 2920;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 0) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx1xxxxx110001xxxxxxxxx0
                                                                 sclamp.  */
                                                              return 2693;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx1xxxxx110001xxxxxxxxx1
                                                                 uclamp.  */
                                                              return 2858;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 0) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001x01xxxxx110101xxxxxxxxx0
                                                                     zip.  */
                                                                  return 2959;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001x01xxxxx110101xxxxxxxxx1
                                                                     uzp.  */
                                                                  return 2946;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 5) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 20) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001x110xxxx110101xxxx0xxxxx
                                                                         sqrshr.  */
                                                                      return 2763;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001x111xxxx110101xxxx0xxxxx
                                                                         sqrshru.  */
                                                                      return 2766;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001x11xxxxx110101xxxx1xxxxx
                                                                     uqrshr.  */
                                                                  return 2919;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 0) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx1xxxxx110011xxxxxxxxx0
                                                                 sclamp.  */
                                                              return 2694;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx1xxxxx110011xxxxxxxxx1
                                                                 uclamp.  */
                                                              return 2859;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 5) & 0x1) == 0)
                                                            {
                                                              if (((word >> 6) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xxxxx110111xxx00xxxxx
                                                                     sqrshrn.  */
                                                                  return 2765;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xxxxx110111xxx10xxxxx
                                                                     sqrshrun.  */
                                                                  return 2768;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx1xxxxx110111xxxx1xxxxx
                                                                 uqrshrn.  */
                                                              return 2921;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 10) & 0x1) == 0)
                                            {
                                              if (((word >> 11) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          if (((word >> 0) & 0x1) == 0)
                                                            {
                                                              if (((word >> 5) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 7) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 8) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000001xx1xxxxx101000x00x0xxxx0
                                                                             smax.  */
                                                                          return 2711;
                                                                        }
                                                                      else
                                                                        {
                                                                          if (((word >> 9) & 0x1) == 0)
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001xx1xxxxx101000010x0xxxx0
                                                                                 fmax.  */
                                                                              return 2546;
                                                                            }
                                                                          else
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001xx1xxxxx101000110x0xxxx0
                                                                                 add.  */
                                                                              return 2500;
                                                                            }
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx101000xx1x0xxxx0
                                                                         fscale.  */
                                                                      return 3405;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 8) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 9) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000001xx1xxxxx10100000xx1xxxx0
                                                                             smin.  */
                                                                          return 2715;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000001xx1xxxxx10100010xx1xxxx0
                                                                             srshl.  */
                                                                          return 2769;
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx101000x1xx1xxxx0
                                                                         fmaxnm.  */
                                                                      return 2550;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 5) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 8) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx101000x0xx0xxxx1
                                                                         umax.  */
                                                                      return 2874;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx101000x1xx0xxxx1
                                                                         fmin.  */
                                                                      return 2554;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 8) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 9) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000001xx1xxxxx10100000xx1xxxx1
                                                                             umin.  */
                                                                          return 2878;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000001xx1xxxxx10100010xx1xxxx1
                                                                             urshl.  */
                                                                          return 2922;
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx101000x1xx1xxxx1
                                                                         fminnm.  */
                                                                      return 2558;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              if (((word >> 17) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 5) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 18) & 0x1) == 0)
                                                                        {
                                                                          if (((word >> 19) & 0x1) == 0)
                                                                            {
                                                                              if (((word >> 22) & 0x1) == 0)
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     x1000001x01x0000111000xxxx0xxxxx
                                                                                     fcvt.  */
                                                                                  return 2534;
                                                                                }
                                                                              else
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     x1000001x11x0000111000xxxx0xxxxx
                                                                                     bfcvt.  */
                                                                                  return 2502;
                                                                                }
                                                                            }
                                                                          else
                                                                            {
                                                                              if (((word >> 20) & 0x1) == 0)
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     x1000001xx101000111000xxxx0xxxxx
                                                                                     frintn.  */
                                                                                  return 2594;
                                                                                }
                                                                              else
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     x1000001xx111000111000xxxx0xxxxx
                                                                                     frintn.  */
                                                                                  return 2595;
                                                                                }
                                                                            }
                                                                        }
                                                                      else
                                                                        {
                                                                          if (((word >> 19) & 0x1) == 0)
                                                                            {
                                                                              if (((word >> 20) & 0x1) == 0)
                                                                                {
                                                                                  if (((word >> 22) & 0x1) == 0)
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x1000001x0100100111000xxxx0xxxxx
                                                                                         fcvt.  */
                                                                                      return 3402;
                                                                                    }
                                                                                  else
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x1000001x1100100111000xxxx0xxxxx
                                                                                         bfcvt.  */
                                                                                      return 3397;
                                                                                    }
                                                                                }
                                                                              else
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     x1000001xx110100111000xxxx0xxxxx
                                                                                     fcvt.  */
                                                                                  return 3403;
                                                                                }
                                                                            }
                                                                          else
                                                                            {
                                                                              if (((word >> 20) & 0x1) == 0)
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     x1000001xx101100111000xxxx0xxxxx
                                                                                     frinta.  */
                                                                                  return 2590;
                                                                                }
                                                                              else
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     x1000001xx111100111000xxxx0xxxxx
                                                                                     frinta.  */
                                                                                  return 2591;
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 18) & 0x1) == 0)
                                                                        {
                                                                          if (((word >> 22) & 0x1) == 0)
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001x01xx000111000xxxx1xxxxx
                                                                                 fcvtn.  */
                                                                              return 2535;
                                                                            }
                                                                          else
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001x11xx000111000xxxx1xxxxx
                                                                                 bfcvtn.  */
                                                                              return 2503;
                                                                            }
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000001xx1xx100111000xxxx1xxxxx
                                                                             fcvtn.  */
                                                                          return 3404;
                                                                        }
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 0) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 18) & 0x1) == 0)
                                                                        {
                                                                          if (((word >> 5) & 0x1) == 0)
                                                                            {
                                                                              if (((word >> 19) & 0x1) == 0)
                                                                                {
                                                                                  if (((word >> 20) & 0x1) == 0)
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x1000001xx100010111000xxxx0xxxx0
                                                                                         scvtf.  */
                                                                                      return 2695;
                                                                                    }
                                                                                  else
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x1000001xx110010111000xxxx0xxxx0
                                                                                         scvtf.  */
                                                                                      return 2696;
                                                                                    }
                                                                                }
                                                                              else
                                                                                {
                                                                                  if (((word >> 20) & 0x1) == 0)
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x1000001xx101010111000xxxx0xxxx0
                                                                                         frintm.  */
                                                                                      return 2592;
                                                                                    }
                                                                                  else
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x1000001xx111010111000xxxx0xxxx0
                                                                                         frintm.  */
                                                                                      return 2593;
                                                                                    }
                                                                                }
                                                                            }
                                                                          else
                                                                            {
                                                                              if (((word >> 20) & 0x1) == 0)
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     x1000001xx10x010111000xxxx1xxxx0
                                                                                     ucvtf.  */
                                                                                  return 2860;
                                                                                }
                                                                              else
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     x1000001xx11x010111000xxxx1xxxx0
                                                                                     ucvtf.  */
                                                                                  return 2861;
                                                                                }
                                                                            }
                                                                        }
                                                                      else
                                                                        {
                                                                          if (((word >> 20) & 0x1) == 0)
                                                                            {
                                                                              if (((word >> 22) & 0x1) == 0)
                                                                                {
                                                                                  if (((word >> 23) & 0x1) == 0)
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x10000010010x110111000xxxxxxxxx0
                                                                                         f1cvt.  */
                                                                                      return 3398;
                                                                                    }
                                                                                  else
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x10000011010x110111000xxxxxxxxx0
                                                                                         f2cvt.  */
                                                                                      return 3399;
                                                                                    }
                                                                                }
                                                                              else
                                                                                {
                                                                                  if (((word >> 23) & 0x1) == 0)
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x10000010110x110111000xxxxxxxxx0
                                                                                         bf1cvt.  */
                                                                                      return 3393;
                                                                                    }
                                                                                  else
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x10000011110x110111000xxxxxxxxx0
                                                                                         bf2cvt.  */
                                                                                      return 3394;
                                                                                    }
                                                                                }
                                                                            }
                                                                          else
                                                                            {
                                                                              if (((word >> 1) & 0x1) == 0)
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     x1000001xx11x110111000xxxxxxxx00
                                                                                     zip.  */
                                                                                  return 2960;
                                                                                }
                                                                              else
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     x1000001xx11x110111000xxxxxxxx10
                                                                                     uzp.  */
                                                                                  return 2947;
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 22) & 0x1) == 0)
                                                                        {
                                                                          if (((word >> 23) & 0x1) == 0)
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001001xxx10111000xxxxxxxxx1
                                                                                 f1cvtl.  */
                                                                              return 3400;
                                                                            }
                                                                          else
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001101xxx10111000xxxxxxxxx1
                                                                                 f2cvtl.  */
                                                                              return 3401;
                                                                            }
                                                                        }
                                                                      else
                                                                        {
                                                                          if (((word >> 23) & 0x1) == 0)
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001011xxx10111000xxxxxxxxx1
                                                                                 bf1cvtl.  */
                                                                              return 3395;
                                                                            }
                                                                          else
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001111xxx10111000xxxxxxxxx1
                                                                                 bf2cvtl.  */
                                                                              return 3396;
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 17) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 0) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 18) & 0x1) == 0)
                                                                        {
                                                                          if (((word >> 5) & 0x1) == 0)
                                                                            {
                                                                              if (((word >> 19) & 0x1) == 0)
                                                                                {
                                                                                  if (((word >> 20) & 0x1) == 0)
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x1000001xx100001111000xxxx0xxxx0
                                                                                         fcvtzs.  */
                                                                                      return 2536;
                                                                                    }
                                                                                  else
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x1000001xx110001111000xxxx0xxxx0
                                                                                         fcvtzs.  */
                                                                                      return 2537;
                                                                                    }
                                                                                }
                                                                              else
                                                                                {
                                                                                  if (((word >> 20) & 0x1) == 0)
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x1000001xx101001111000xxxx0xxxx0
                                                                                         frintp.  */
                                                                                      return 2596;
                                                                                    }
                                                                                  else
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x1000001xx111001111000xxxx0xxxx0
                                                                                         frintp.  */
                                                                                      return 2597;
                                                                                    }
                                                                                }
                                                                            }
                                                                          else
                                                                            {
                                                                              if (((word >> 20) & 0x1) == 0)
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     x1000001xx10x001111000xxxx1xxxx0
                                                                                     fcvtzu.  */
                                                                                  return 2538;
                                                                                }
                                                                              else
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     x1000001xx11x001111000xxxx1xxxx0
                                                                                     fcvtzu.  */
                                                                                  return 2539;
                                                                                }
                                                                            }
                                                                        }
                                                                      else
                                                                        {
                                                                          if (((word >> 20) & 0x1) == 0)
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001xx10x101111000xxxxxxxxx0
                                                                                 sunpk.  */
                                                                              return 2853;
                                                                            }
                                                                          else
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001xx11x101111000xxxxxxxxx0
                                                                                 sunpk.  */
                                                                              return 2854;
                                                                            }
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 20) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000001xx10xx01111000xxxxxxxxx1
                                                                             uunpk.  */
                                                                          return 2941;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000001xx11xx01111000xxxxxxxxx1
                                                                             uunpk.  */
                                                                          return 2942;
                                                                        }
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 5) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 18) & 0x1) == 0)
                                                                        {
                                                                          if (((word >> 20) & 0x1) == 0)
                                                                            {
                                                                              if (((word >> 22) & 0x1) == 0)
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     x1000001x010x011111000xxxx0xxxxx
                                                                                     sqcvt.  */
                                                                                  return 2753;
                                                                                }
                                                                              else
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     x1000001x110x011111000xxxx0xxxxx
                                                                                     sqcvtu.  */
                                                                                  return 2756;
                                                                                }
                                                                            }
                                                                          else
                                                                            {
                                                                              if (((word >> 6) & 0x1) == 0)
                                                                                {
                                                                                  if (((word >> 22) & 0x1) == 0)
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x1000001x011x011111000xxx00xxxxx
                                                                                         sqcvt.  */
                                                                                      return 2754;
                                                                                    }
                                                                                  else
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x1000001x111x011111000xxx00xxxxx
                                                                                         sqcvtu.  */
                                                                                      return 2757;
                                                                                    }
                                                                                }
                                                                              else
                                                                                {
                                                                                  if (((word >> 22) & 0x1) == 0)
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x1000001x011x011111000xxx10xxxxx
                                                                                         sqcvtn.  */
                                                                                      return 2755;
                                                                                    }
                                                                                  else
                                                                                    {
                                                                                      /* 33222222222211111111110000000000
                                                                                         10987654321098765432109876543210
                                                                                         x1000001x111x011111000xxx10xxxxx
                                                                                         sqcvtun.  */
                                                                                      return 2758;
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                      else
                                                                        {
                                                                          if (((word >> 1) & 0x1) == 0)
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001xx1xx111111000xxxx0xxx0x
                                                                                 zip.  */
                                                                              return 2961;
                                                                            }
                                                                          else
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001xx1xx111111000xxxx0xxx1x
                                                                                 uzp.  */
                                                                              return 2948;
                                                                            }
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 20) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000001xx10xx11111000xxxx1xxxxx
                                                                             uqcvt.  */
                                                                          return 2916;
                                                                        }
                                                                      else
                                                                        {
                                                                          if (((word >> 6) & 0x1) == 0)
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001xx11xx11111000xxx01xxxxx
                                                                                 uqcvt.  */
                                                                              return 2917;
                                                                            }
                                                                          else
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001xx11xx11111000xxx11xxxxx
                                                                                 uqcvtn.  */
                                                                              return 2918;
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 0) & 0x1) == 0)
                                                        {
                                                          if (((word >> 5) & 0x1) == 0)
                                                            {
                                                              if (((word >> 6) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 7) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 8) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000001xx1xxxxx1x1100x0000xxxx0
                                                                             smax.  */
                                                                          return 2713;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000001xx1xxxxx1x1100x1000xxxx0
                                                                             fmax.  */
                                                                          return 2548;
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x1100xx100xxxx0
                                                                         fscale.  */
                                                                      return 3407;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xxxxx1x1100xxx10xxxx0
                                                                     famax.  */
                                                                  return 1212;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 8) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 9) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x110000xx1xxxx0
                                                                         smin.  */
                                                                      return 2717;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x110010xx1xxxx0
                                                                         srshl.  */
                                                                      return 2771;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xxxxx1x1100x1xx1xxxx0
                                                                     fmaxnm.  */
                                                                  return 2552;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 5) & 0x1) == 0)
                                                            {
                                                              if (((word >> 6) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 8) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x1100x0x00xxxx1
                                                                         umax.  */
                                                                      return 2876;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x1100x1x00xxxx1
                                                                         fmin.  */
                                                                      return 2556;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xxxxx1x1100xxx10xxxx1
                                                                     famin.  */
                                                                  return 1214;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 8) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 9) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x110000xx1xxxx1
                                                                         umin.  */
                                                                      return 2880;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x110010xx1xxxx1
                                                                         urshl.  */
                                                                      return 2924;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xxxxx1x1100x1xx1xxxx1
                                                                     fminnm.  */
                                                                  return 2560;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 0) & 0x1) == 0)
                                                    {
                                                      if (((word >> 5) & 0x1) == 0)
                                                        {
                                                          if (((word >> 6) & 0x1) == 0)
                                                            {
                                                              if (((word >> 7) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 8) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 12) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000001xx1xxxxx1x1010x0000xxxx0
                                                                             smax.  */
                                                                          return 2712;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000001xx1xxxxx1x1110x0000xxxx0
                                                                             smax.  */
                                                                          return 2714;
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 9) & 0x1) == 0)
                                                                        {
                                                                          if (((word >> 12) & 0x1) == 0)
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001xx1xxxxx1x101001000xxxx0
                                                                                 fmax.  */
                                                                              return 2547;
                                                                            }
                                                                          else
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 x1000001xx1xxxxx1x111001000xxxx0
                                                                                 fmax.  */
                                                                              return 2549;
                                                                            }
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             x1000001xx1xxxxx1x1x1011000xxxx0
                                                                             add.  */
                                                                          return 2501;
                                                                        }
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 12) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x1010xx100xxxx0
                                                                         fscale.  */
                                                                      return 3406;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x1110xx100xxxx0
                                                                         fscale.  */
                                                                      return 3408;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx1xxxxx1x1x10xxx10xxxx0
                                                                 famax.  */
                                                              return 1213;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 8) & 0x1) == 0)
                                                            {
                                                              if (((word >> 9) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 12) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x101000xx1xxxx0
                                                                         smin.  */
                                                                      return 2716;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x111000xx1xxxx0
                                                                         smin.  */
                                                                      return 2718;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 12) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x101010xx1xxxx0
                                                                         srshl.  */
                                                                      return 2770;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x111010xx1xxxx0
                                                                         srshl.  */
                                                                      return 2772;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 12) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xxxxx1x1010x1xx1xxxx0
                                                                     fmaxnm.  */
                                                                  return 2551;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xxxxx1x1110x1xx1xxxx0
                                                                     fmaxnm.  */
                                                                  return 2553;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 5) & 0x1) == 0)
                                                        {
                                                          if (((word >> 6) & 0x1) == 0)
                                                            {
                                                              if (((word >> 8) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 12) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x1010x0x00xxxx1
                                                                         umax.  */
                                                                      return 2875;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x1110x0x00xxxx1
                                                                         umax.  */
                                                                      return 2877;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 12) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x1010x1x00xxxx1
                                                                         fmin.  */
                                                                      return 2555;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x1110x1x00xxxx1
                                                                         fmin.  */
                                                                      return 2557;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1000001xx1xxxxx1x1x10xxx10xxxx1
                                                                 famin.  */
                                                              return 1215;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 8) & 0x1) == 0)
                                                            {
                                                              if (((word >> 9) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 12) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x101000xx1xxxx1
                                                                         umin.  */
                                                                      return 2879;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x111000xx1xxxx1
                                                                         umin.  */
                                                                      return 2881;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 12) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x101010xx1xxxx1
                                                                         urshl.  */
                                                                      return 2923;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1000001xx1xxxxx1x111010xx1xxxx1
                                                                         urshl.  */
                                                                      return 2925;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 12) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xxxxx1x1010x1xx1xxxx1
                                                                     fminnm.  */
                                                                  return 2559;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1000001xx1xxxxx1x1110x1xx1xxxx1
                                                                     fminnm.  */
                                                                  return 2561;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 11) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1000001xx1xxxxx1x1001xxxxxxxxxx
                                                         sqdmulh.  */
                                                      return 2759;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1000001xx1xxxxx1x1101xxxxxxxxxx
                                                         sqdmulh.  */
                                                      return 2761;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1000001xx1xxxxx1x1011xxxxxxxxxx
                                                         sqdmulh.  */
                                                      return 2760;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1000001xx1xxxxx1x1111xxxxxxxxxx
                                                         sqdmulh.  */
                                                      return 2762;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 22) & 0x1) == 0)
                                {
                                  if (((word >> 23) & 0x1) == 0)
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              if (((word >> 3) & 0x1) == 0)
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001001xxxxx000xxxxxxxxx0xxx
                                                             st1b.  */
                                                          return 2779;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001001xxxxx010xxxxxxxxx0xxx
                                                             st1w.  */
                                                          return 2803;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001001xxxxx001xxxxxxxxx0xxx
                                                             st1h.  */
                                                          return 2795;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001001xxxxx011xxxxxxxxx0xxx
                                                             st1d.  */
                                                          return 2787;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001001xxxxx000xxxxxxxxx1xxx
                                                             stnt1b.  */
                                                          return 2811;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001001xxxxx010xxxxxxxxx1xxx
                                                             stnt1w.  */
                                                          return 2835;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001001xxxxx001xxxxxxxxx1xxx
                                                             stnt1h.  */
                                                          return 2827;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001001xxxxx011xxxxxxxxx1xxx
                                                             stnt1d.  */
                                                          return 2819;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1100001001xxxxx0xxxxxxxxxxxxxxx
                                                 str.  */
                                              return 2462;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 3) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0100001001xxxxx100xxxxxxxxx0xxx
                                                             st1b.  */
                                                          return 2780;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1100001001xxxxx100xxxxxxxxx0xxx
                                                             str.  */
                                                          return 2837;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001001xxxxx110xxxxxxxxx0xxx
                                                         st1w.  */
                                                      return 2804;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001001xxxxx101xxxxxxxxx0xxx
                                                         st1h.  */
                                                      return 2796;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001001xxxxx111xxxxxxxxx0xxx
                                                         st1d.  */
                                                      return 2788;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001001xxxxx100xxxxxxxxx1xxx
                                                         stnt1b.  */
                                                      return 2812;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001001xxxxx110xxxxxxxxx1xxx
                                                         stnt1w.  */
                                                      return 2836;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001001xxxxx101xxxxxxxxx1xxx
                                                         stnt1h.  */
                                                      return 2828;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001001xxxxx111xxxxxxxxx1xxx
                                                         stnt1d.  */
                                                      return 2820;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 4) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx100001101xxxxxxxxxxxxxxxx0xxxx
                                             umopa.  */
                                          return 2428;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx100001101xxxxxxxxxxxxxxxx1xxxx
                                             umops.  */
                                          return 2430;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 23) & 0x1) == 0)
                                    {
                                      if (((word >> 3) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001011xxxxx000xxxxxxxxx0xxx
                                                         st1b.  */
                                                      return 2775;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001011xxxxx100xxxxxxxxx0xxx
                                                         st1b.  */
                                                      return 2776;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001011xxxxx010xxxxxxxxx0xxx
                                                         st1w.  */
                                                      return 2799;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001011xxxxx110xxxxxxxxx0xxx
                                                         st1w.  */
                                                      return 2800;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001011xxxxx001xxxxxxxxx0xxx
                                                         st1h.  */
                                                      return 2791;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001011xxxxx101xxxxxxxxx0xxx
                                                         st1h.  */
                                                      return 2792;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001011xxxxx011xxxxxxxxx0xxx
                                                         st1d.  */
                                                      return 2783;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001011xxxxx111xxxxxxxxx0xxx
                                                         st1d.  */
                                                      return 2784;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001011xxxxx000xxxxxxxxx1xxx
                                                         stnt1b.  */
                                                      return 2807;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001011xxxxx100xxxxxxxxx1xxx
                                                         stnt1b.  */
                                                      return 2808;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001011xxxxx010xxxxxxxxx1xxx
                                                         stnt1w.  */
                                                      return 2831;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001011xxxxx110xxxxxxxxx1xxx
                                                         stnt1w.  */
                                                      return 2832;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001011xxxxx001xxxxxxxxx1xxx
                                                         stnt1h.  */
                                                      return 2823;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001011xxxxx101xxxxxxxxx1xxx
                                                         stnt1h.  */
                                                      return 2824;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001011xxxxx011xxxxxxxxx1xxx
                                                         stnt1d.  */
                                                      return 2815;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx100001011xxxxx111xxxxxxxxx1xxx
                                                         stnt1d.  */
                                                      return 2816;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 4) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0100001111xxxxxxxxxxxxxxxx0xxxx
                                                 umopa.  */
                                              return 2429;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1100001111xxxxxxxxxxxxxxxx0xxxx
                                                 st1q.  */
                                              return 2455;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx100001111xxxxxxxxxxxxxxxx1xxxx
                                             umops.  */
                                          return 2431;
                                        }
                                    }
                                }
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 29) & 0x1) == 0)
                        {
                          if (((word >> 30) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 x0010001xxxxxxxxxxxxxxxxxxxxxxxx
                                 add.  */
                              return 12;
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 x1010001xxxxxxxxxxxxxxxxxxxxxxxx
                                 sub.  */
                              return 16;
                            }
                        }
                      else
                        {
                          if (((word >> 30) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 x0110001xxxxxxxxxxxxxxxxxxxxxxxx
                                 adds.  */
                              return 14;
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 x1110001xxxxxxxxxxxxxxxxxxxxxxxx
                                 subs.  */
                              return 17;
                            }
                        }
                    }
                }
            }
          else
            {
              if (((word >> 28) & 0x1) == 0)
                {
                  if (((word >> 22) & 0x1) == 0)
                    {
                      if (((word >> 23) & 0x1) == 0)
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 15) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0000100x000xxxxx0xxxxxxxxxxxxxxx
                                                 stxrb.  */
                                              return 937;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0100100x000xxxxx0xxxxxxxxxxxxxxx
                                                 stxrh.  */
                                              return 943;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x00100x000xxxxx0xxxxxxxxxxxxxxx
                                             stxr.  */
                                          return 949;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             0x00100x001xxxxx0xxxxxxxxxxxxxxx
                                             casp.  */
                                          return 1026;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x00100x001xxxxx0xxxxxxxxxxxxxxx
                                             stxp.  */
                                          return 951;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0000100x000xxxxx1xxxxxxxxxxxxxxx
                                                 stlxrb.  */
                                              return 938;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0100100x000xxxxx1xxxxxxxxxxxxxxx
                                                 stlxrh.  */
                                              return 944;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x00100x000xxxxx1xxxxxxxxxxxxxxx
                                             stlxr.  */
                                          return 950;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             0x00100x001xxxxx1xxxxxxxxxxxxxxx
                                             caspl.  */
                                          return 1028;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x00100x001xxxxx1xxxxxxxxxxxxxxx
                                             stlxp.  */
                                          return 952;
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x010100x00xxxxxxxxxxxxxxxxxxxxxx
                                     stnp.  */
                                  return 971;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x110100x00xxxxxxxxxxxxxxxxxxxxxx
                                     stgp.  */
                                  return 980;
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 15) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             0x00100x100xxxxx0xxxxxxxxxxxxxxx
                                             stllrb.  */
                                          return 969;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x00100x100xxxxx0xxxxxxxxxxxxxxx
                                             stllr.  */
                                          return 968;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0000100x101xxxxx0xxxxxxxxxxxxxxx
                                                 casb.  */
                                              return 1014;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0100100x101xxxxx0xxxxxxxxxxxxxxx
                                                 cash.  */
                                              return 1015;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x00100x101xxxxx0xxxxxxxxxxxxxxx
                                             cas.  */
                                          return 1016;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0000100x100xxxxx1xxxxxxxxxxxxxxx
                                                 stlrb.  */
                                              return 941;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0100100x100xxxxx1xxxxxxxxxxxxxxx
                                                 stlrh.  */
                                              return 947;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x00100x100xxxxx1xxxxxxxxxxxxxxx
                                             stlr.  */
                                          return 957;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0000100x101xxxxx1xxxxxxxxxxxxxxx
                                                 caslb.  */
                                              return 1018;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0100100x101xxxxx1xxxxxxxxxxxxxxx
                                                 caslh.  */
                                              return 1021;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x00100x101xxxxx1xxxxxxxxxxxxxxx
                                             casl.  */
                                          return 1024;
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x010100x10xxxxxxxxxxxxxxxxxxxxxx
                                     stp.  */
                                  return 981;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x110100x10xxxxxxxxxxxxxxxxxxxxxx
                                     stgp.  */
                                  return 986;
                                }
                            }
                        }
                    }
                  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
                                                 0000100x010xxxxx0xxxxxxxxxxxxxxx
                                                 ldxrb.  */
                                              return 939;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0100100x010xxxxx0xxxxxxxxxxxxxxx
                                                 ldxrh.  */
                                              return 945;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x00100x010xxxxx0xxxxxxxxxxxxxxx
                                             ldxr.  */
                                          return 953;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             0x00100x011xxxxx0xxxxxxxxxxxxxxx
                                             caspa.  */
                                          return 1027;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x00100x011xxxxx0xxxxxxxxxxxxxxx
                                             ldxp.  */
                                          return 955;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0000100x010xxxxx1xxxxxxxxxxxxxxx
                                                 ldaxrb.  */
                                              return 940;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0100100x010xxxxx1xxxxxxxxxxxxxxx
                                                 ldaxrh.  */
                                              return 946;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x00100x010xxxxx1xxxxxxxxxxxxxxx
                                             ldaxr.  */
                                          return 954;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             0x00100x011xxxxx1xxxxxxxxxxxxxxx
                                             caspal.  */
                                          return 1029;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x00100x011xxxxx1xxxxxxxxxxxxxxx
                                             ldaxp.  */
                                          return 956;
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x010100x01xxxxxxxxxxxxxxxxxxxxxx
                                     ldnp.  */
                                  return 972;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x110100x01xxxxxxxxxxxxxxxxxxxxxx
                                     ldpsw.  */
                                  return 979;
                                }
                            }
                        }
                      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
                                                 0000100x110xxxxx0xxxxxxxxxxxxxxx
                                                 ldlarb.  */
                                              return 966;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0100100x110xxxxx0xxxxxxxxxxxxxxx
                                                 ldlarh.  */
                                              return 967;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x00100x110xxxxx0xxxxxxxxxxxxxxx
                                             ldlar.  */
                                          return 965;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0000100x111xxxxx0xxxxxxxxxxxxxxx
                                                 casab.  */
                                              return 1017;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0100100x111xxxxx0xxxxxxxxxxxxxxx
                                                 casah.  */
                                              return 1020;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x00100x111xxxxx0xxxxxxxxxxxxxxx
                                             casa.  */
                                          return 1023;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0000100x110xxxxx1xxxxxxxxxxxxxxx
                                                 ldarb.  */
                                              return 942;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0100100x110xxxxx1xxxxxxxxxxxxxxx
                                                 ldarh.  */
                                              return 948;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x00100x110xxxxx1xxxxxxxxxxxxxxx
                                             ldar.  */
                                          return 958;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0000100x111xxxxx1xxxxxxxxxxxxxxx
                                                 casalb.  */
                                              return 1019;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 0100100x111xxxxx1xxxxxxxxxxxxxxx
                                                 casalh.  */
                                              return 1022;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x00100x111xxxxx1xxxxxxxxxxxxxxx
                                             casal.  */
                                          return 1025;
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x010100x11xxxxxxxxxxxxxxxxxxxxxx
                                     ldp.  */
                                  return 982;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x110100x11xxxxxxxxxxxxxxxxxxxxxx
                                     ldpsw.  */
                                  return 985;
                                }
                            }
                        }
                    }
                }
              else
                {
                  if (((word >> 24) & 0x1) == 0)
                    {
                      if (((word >> 29) & 0x1) == 0)
                        {
                          if (((word >> 31) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 0x011000xxxxxxxxxxxxxxxxxxxxxxxx
                                 ldr.  */
                              return 987;
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     10011000xxxxxxxxxxxxxxxxxxxxxxxx
                                     ldrsw.  */
                                  return 989;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     11011000xxxxxxxxxxxxxxxxxxxxxxxx
                                     prfm.  */
                                  return 990;
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 10) & 0x1) == 0)
                            {
                              if (((word >> 11) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 23) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         00111000000xxxxxxxxx00xxxxxxxxxx
                                                         sturb.  */
                                                      return 922;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         01111000000xxxxxxxxx00xxxxxxxxxx
                                                         sturh.  */
                                                      return 927;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     1x111000000xxxxxxxxx00xxxxxxxxxx
                                                     stur.  */
                                                  return 930;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         00111000010xxxxxxxxx00xxxxxxxxxx
                                                         ldurb.  */
                                                      return 923;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         01111000010xxxxxxxxx00xxxxxxxxxx
                                                         ldurh.  */
                                                      return 928;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     1x111000010xxxxxxxxx00xxxxxxxxxx
                                                     ldur.  */
                                                  return 931;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001110001x0xxxxxxxxx00xxxxxxxxxx
                                                     ldursb.  */
                                                  return 924;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101110001x0xxxxxxxxx00xxxxxxxxxx
                                                     ldursw.  */
                                                  return 932;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     011110001x0xxxxxxxxx00xxxxxxxxxx
                                                     ldursh.  */
                                                  return 929;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111110001x0xxxxxxxxx00xxxxxxxxxx
                                                     prfum.  */
                                                  return 933;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000001xxxxx000000xxxxxxxxxx
                                                                         ldaddb.  */
                                                                      return 1042;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000001xxxxx000000xxxxxxxxxx
                                                                         ldaddh.  */
                                                                      return 1043;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000001xxxxx000000xxxxxxxxxx
                                                                     ldadd.  */
                                                                  return 1044;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000101xxxxx000000xxxxxxxxxx
                                                                         ldaddab.  */
                                                                      return 1045;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000101xxxxx000000xxxxxxxxxx
                                                                         ldaddah.  */
                                                                      return 1048;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000101xxxxx000000xxxxxxxxxx
                                                                     ldadda.  */
                                                                  return 1051;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000011xxxxx000000xxxxxxxxxx
                                                                         ldaddlb.  */
                                                                      return 1046;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000011xxxxx000000xxxxxxxxxx
                                                                         ldaddlh.  */
                                                                      return 1049;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000011xxxxx000000xxxxxxxxxx
                                                                     ldaddl.  */
                                                                  return 1052;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000111xxxxx000000xxxxxxxxxx
                                                                         ldaddalb.  */
                                                                      return 1047;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000111xxxxx000000xxxxxxxxxx
                                                                         ldaddalh.  */
                                                                      return 1050;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000111xxxxx000000xxxxxxxxxx
                                                                     ldaddal.  */
                                                                  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
                                                                         00111000001xxxxx100000xxxxxxxxxx
                                                                         swpb.  */
                                                                      return 1030;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000001xxxxx100000xxxxxxxxxx
                                                                         swph.  */
                                                                      return 1031;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000001xxxxx100000xxxxxxxxxx
                                                                     swp.  */
                                                                  return 1032;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000101xxxxx100000xxxxxxxxxx
                                                                         swpab.  */
                                                                      return 1033;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000101xxxxx100000xxxxxxxxxx
                                                                         swpah.  */
                                                                      return 1036;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000101xxxxx100000xxxxxxxxxx
                                                                     swpa.  */
                                                                  return 1039;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000011xxxxx100000xxxxxxxxxx
                                                                         swplb.  */
                                                                      return 1034;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000011xxxxx100000xxxxxxxxxx
                                                                         swplh.  */
                                                                      return 1037;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000011xxxxx100000xxxxxxxxxx
                                                                     swpl.  */
                                                                  return 1040;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000111xxxxx100000xxxxxxxxxx
                                                                         swpalb.  */
                                                                      return 1035;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000111xxxxx100000xxxxxxxxxx
                                                                         swpalh.  */
                                                                      return 1038;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000111xxxxx100000xxxxxxxxxx
                                                                     swpal.  */
                                                                  return 1041;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000001xxxxx010000xxxxxxxxxx
                                                                         ldsmaxb.  */
                                                                      return 1090;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000001xxxxx010000xxxxxxxxxx
                                                                         ldsmaxh.  */
                                                                      return 1091;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000001xxxxx010000xxxxxxxxxx
                                                                     ldsmax.  */
                                                                  return 1092;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000101xxxxx010000xxxxxxxxxx
                                                                         ldsmaxab.  */
                                                                      return 1093;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000101xxxxx010000xxxxxxxxxx
                                                                         ldsmaxah.  */
                                                                      return 1096;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000101xxxxx010000xxxxxxxxxx
                                                                     ldsmaxa.  */
                                                                  return 1099;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000011xxxxx010000xxxxxxxxxx
                                                                         ldsmaxlb.  */
                                                                      return 1094;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000011xxxxx010000xxxxxxxxxx
                                                                         ldsmaxlh.  */
                                                                      return 1097;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000011xxxxx010000xxxxxxxxxx
                                                                     ldsmaxl.  */
                                                                  return 1100;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000111xxxxx010000xxxxxxxxxx
                                                                         ldsmaxalb.  */
                                                                      return 1095;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000111xxxxx010000xxxxxxxxxx
                                                                         ldsmaxalh.  */
                                                                      return 1098;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000111xxxxx010000xxxxxxxxxx
                                                                     ldsmaxal.  */
                                                                  return 1101;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 31) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 00111000xx1xxxxx110000xxxxxxxxxx
                                                                 ldaprb.  */
                                                              return 959;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 01111000xx1xxxxx110000xxxxxxxxxx
                                                                 ldaprh.  */
                                                              return 960;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             1x111000xx1xxxxx110000xxxxxxxxxx
                                                             ldapr.  */
                                                          return 961;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000001xxxxx001000xxxxxxxxxx
                                                                         ldeorb.  */
                                                                      return 1066;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000001xxxxx001000xxxxxxxxxx
                                                                         ldeorh.  */
                                                                      return 1067;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000001xxxxx001000xxxxxxxxxx
                                                                     ldeor.  */
                                                                  return 1068;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000101xxxxx001000xxxxxxxxxx
                                                                         ldeorab.  */
                                                                      return 1069;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000101xxxxx001000xxxxxxxxxx
                                                                         ldeorah.  */
                                                                      return 1072;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000101xxxxx001000xxxxxxxxxx
                                                                     ldeora.  */
                                                                  return 1075;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000011xxxxx001000xxxxxxxxxx
                                                                         ldeorlb.  */
                                                                      return 1070;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000011xxxxx001000xxxxxxxxxx
                                                                         ldeorlh.  */
                                                                      return 1073;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000011xxxxx001000xxxxxxxxxx
                                                                     ldeorl.  */
                                                                  return 1076;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000111xxxxx001000xxxxxxxxxx
                                                                         ldeoralb.  */
                                                                      return 1071;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000111xxxxx001000xxxxxxxxxx
                                                                         ldeoralh.  */
                                                                      return 1074;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000111xxxxx001000xxxxxxxxxx
                                                                     ldeoral.  */
                                                                  return 1077;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x0111000001xxxxx101000xxxxxxxxxx
                                                                     rcwswp.  */
                                                                  return 3266;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 31) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000001xxxxx101000xxxxxxxxxx
                                                                         rcwsswp.  */
                                                                      return 3274;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         11111000001xxxxx101000xxxxxxxxxx
                                                                         st64bv0.  */
                                                                      return 994;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x0111000101xxxxx101000xxxxxxxxxx
                                                                     rcwswpa.  */
                                                                  return 3267;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1111000101xxxxx101000xxxxxxxxxx
                                                                     rcwsswpa.  */
                                                                  return 3275;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x0111000011xxxxx101000xxxxxxxxxx
                                                                     rcwswpl.  */
                                                                  return 3269;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1111000011xxxxx101000xxxxxxxxxx
                                                                     rcwsswpl.  */
                                                                  return 3277;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x0111000111xxxxx101000xxxxxxxxxx
                                                                     rcwswpal.  */
                                                                  return 3268;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1111000111xxxxx101000xxxxxxxxxx
                                                                     rcwsswpal.  */
                                                                  return 3276;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     00111000001xxxxxx11000xxxxxxxxxx
                                                                     ldumaxb.  */
                                                                  return 1114;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     01111000001xxxxxx11000xxxxxxxxxx
                                                                     ldumaxh.  */
                                                                  return 1115;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 1x111000001xxxxxx11000xxxxxxxxxx
                                                                 ldumax.  */
                                                              return 1116;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     00111000101xxxxxx11000xxxxxxxxxx
                                                                     ldumaxab.  */
                                                                  return 1117;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     01111000101xxxxxx11000xxxxxxxxxx
                                                                     ldumaxah.  */
                                                                  return 1120;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 1x111000101xxxxxx11000xxxxxxxxxx
                                                                 ldumaxa.  */
                                                              return 1123;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     00111000011xxxxxx11000xxxxxxxxxx
                                                                     ldumaxlb.  */
                                                                  return 1118;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     01111000011xxxxxx11000xxxxxxxxxx
                                                                     ldumaxlh.  */
                                                                  return 1121;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 1x111000011xxxxxx11000xxxxxxxxxx
                                                                 ldumaxl.  */
                                                              return 1124;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     00111000111xxxxxx11000xxxxxxxxxx
                                                                     ldumaxalb.  */
                                                                  return 1119;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     01111000111xxxxxx11000xxxxxxxxxx
                                                                     ldumaxalh.  */
                                                                  return 1122;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 1x111000111xxxxxx11000xxxxxxxxxx
                                                                 ldumaxal.  */
                                                              return 1125;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000001xxxxx000100xxxxxxxxxx
                                                                         ldclrb.  */
                                                                      return 1054;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000001xxxxx000100xxxxxxxxxx
                                                                         ldclrh.  */
                                                                      return 1055;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000001xxxxx000100xxxxxxxxxx
                                                                     ldclr.  */
                                                                  return 1056;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000101xxxxx000100xxxxxxxxxx
                                                                         ldclrab.  */
                                                                      return 1057;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000101xxxxx000100xxxxxxxxxx
                                                                         ldclrah.  */
                                                                      return 1060;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000101xxxxx000100xxxxxxxxxx
                                                                     ldclra.  */
                                                                  return 1063;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000011xxxxx000100xxxxxxxxxx
                                                                         ldclrlb.  */
                                                                      return 1058;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000011xxxxx000100xxxxxxxxxx
                                                                         ldclrlh.  */
                                                                      return 1061;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000011xxxxx000100xxxxxxxxxx
                                                                     ldclrl.  */
                                                                  return 1064;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000111xxxxx000100xxxxxxxxxx
                                                                         ldclralb.  */
                                                                      return 1059;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000111xxxxx000100xxxxxxxxxx
                                                                         ldclralh.  */
                                                                      return 1062;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000111xxxxx000100xxxxxxxxxx
                                                                     ldclral.  */
                                                                  return 1065;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x0111000001xxxxx100100xxxxxxxxxx
                                                                     rcwclr.  */
                                                                  return 3234;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 31) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000001xxxxx100100xxxxxxxxxx
                                                                         rcwsclr.  */
                                                                      return 3242;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         11111000001xxxxx100100xxxxxxxxxx
                                                                         st64b.  */
                                                                      return 992;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x0111000101xxxxx100100xxxxxxxxxx
                                                                     rcwclra.  */
                                                                  return 3235;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1111000101xxxxx100100xxxxxxxxxx
                                                                     rcwsclra.  */
                                                                  return 3243;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x0111000011xxxxx100100xxxxxxxxxx
                                                                     rcwclrl.  */
                                                                  return 3237;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1111000011xxxxx100100xxxxxxxxxx
                                                                     rcwsclrl.  */
                                                                  return 3245;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x0111000111xxxxx100100xxxxxxxxxx
                                                                     rcwclral.  */
                                                                  return 3236;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1111000111xxxxx100100xxxxxxxxxx
                                                                     rcwsclral.  */
                                                                  return 3244;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000001xxxxx010100xxxxxxxxxx
                                                                         ldsminb.  */
                                                                      return 1102;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000001xxxxx010100xxxxxxxxxx
                                                                         ldsminh.  */
                                                                      return 1103;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000001xxxxx010100xxxxxxxxxx
                                                                     ldsmin.  */
                                                                  return 1104;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000101xxxxx010100xxxxxxxxxx
                                                                         ldsminab.  */
                                                                      return 1105;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000101xxxxx010100xxxxxxxxxx
                                                                         ldsminah.  */
                                                                      return 1108;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000101xxxxx010100xxxxxxxxxx
                                                                     ldsmina.  */
                                                                  return 1111;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000011xxxxx010100xxxxxxxxxx
                                                                         ldsminlb.  */
                                                                      return 1106;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000011xxxxx010100xxxxxxxxxx
                                                                         ldsminlh.  */
                                                                      return 1109;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000011xxxxx010100xxxxxxxxxx
                                                                     ldsminl.  */
                                                                  return 1112;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000111xxxxx010100xxxxxxxxxx
                                                                         ldsminalb.  */
                                                                      return 1107;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000111xxxxx010100xxxxxxxxxx
                                                                         ldsminalh.  */
                                                                      return 1110;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000111xxxxx010100xxxxxxxxxx
                                                                     ldsminal.  */
                                                                  return 1113;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx111000xx1xxxxx110100xxxxxxxxxx
                                                         ld64b.  */
                                                      return 991;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000001xxxxx001100xxxxxxxxxx
                                                                         ldsetb.  */
                                                                      return 1078;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000001xxxxx001100xxxxxxxxxx
                                                                         ldseth.  */
                                                                      return 1079;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000001xxxxx001100xxxxxxxxxx
                                                                     ldset.  */
                                                                  return 1080;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000101xxxxx001100xxxxxxxxxx
                                                                         ldsetab.  */
                                                                      return 1081;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000101xxxxx001100xxxxxxxxxx
                                                                         ldsetah.  */
                                                                      return 1084;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000101xxxxx001100xxxxxxxxxx
                                                                     ldseta.  */
                                                                  return 1087;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000011xxxxx001100xxxxxxxxxx
                                                                         ldsetlb.  */
                                                                      return 1082;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000011xxxxx001100xxxxxxxxxx
                                                                         ldsetlh.  */
                                                                      return 1085;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000011xxxxx001100xxxxxxxxxx
                                                                     ldsetl.  */
                                                                  return 1088;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         00111000111xxxxx001100xxxxxxxxxx
                                                                         ldsetalb.  */
                                                                      return 1083;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000111xxxxx001100xxxxxxxxxx
                                                                         ldsetalh.  */
                                                                      return 1086;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     1x111000111xxxxx001100xxxxxxxxxx
                                                                     ldsetal.  */
                                                                  return 1089;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x0111000001xxxxx101100xxxxxxxxxx
                                                                     rcwset.  */
                                                                  return 3250;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 31) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         01111000001xxxxx101100xxxxxxxxxx
                                                                         rcwsset.  */
                                                                      return 3258;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         11111000001xxxxx101100xxxxxxxxxx
                                                                         st64bv.  */
                                                                      return 993;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x0111000101xxxxx101100xxxxxxxxxx
                                                                     rcwseta.  */
                                                                  return 3251;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1111000101xxxxx101100xxxxxxxxxx
                                                                     rcwsseta.  */
                                                                  return 3259;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x0111000011xxxxx101100xxxxxxxxxx
                                                                     rcwsetl.  */
                                                                  return 3253;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1111000011xxxxx101100xxxxxxxxxx
                                                                     rcwssetl.  */
                                                                  return 3261;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x0111000111xxxxx101100xxxxxxxxxx
                                                                     rcwsetal.  */
                                                                  return 3252;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1111000111xxxxx101100xxxxxxxxxx
                                                                     rcwssetal.  */
                                                                  return 3260;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     00111000001xxxxxx11100xxxxxxxxxx
                                                                     lduminb.  */
                                                                  return 1126;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     01111000001xxxxxx11100xxxxxxxxxx
                                                                     lduminh.  */
                                                                  return 1127;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 1x111000001xxxxxx11100xxxxxxxxxx
                                                                 ldumin.  */
                                                              return 1128;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     00111000101xxxxxx11100xxxxxxxxxx
                                                                     lduminab.  */
                                                                  return 1129;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     01111000101xxxxxx11100xxxxxxxxxx
                                                                     lduminah.  */
                                                                  return 1132;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 1x111000101xxxxxx11100xxxxxxxxxx
                                                                 ldumina.  */
                                                              return 1135;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     00111000011xxxxxx11100xxxxxxxxxx
                                                                     lduminlb.  */
                                                                  return 1130;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     01111000011xxxxxx11100xxxxxxxxxx
                                                                     lduminlh.  */
                                                                  return 1133;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 1x111000011xxxxxx11100xxxxxxxxxx
                                                                 lduminl.  */
                                                              return 1136;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     00111000111xxxxxx11100xxxxxxxxxx
                                                                     lduminalb.  */
                                                                  return 1131;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     01111000111xxxxxx11100xxxxxxxxxx
                                                                     lduminalh.  */
                                                                  return 1134;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 1x111000111xxxxxx11100xxxxxxxxxx
                                                                 lduminal.  */
                                                              return 1137;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 23) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         00111000000xxxxxxxxx10xxxxxxxxxx
                                                         sttrb.  */
                                                      return 913;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         01111000000xxxxxxxxx10xxxxxxxxxx
                                                         sttrh.  */
                                                      return 916;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     1x111000000xxxxxxxxx10xxxxxxxxxx
                                                     sttr.  */
                                                  return 919;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         00111000010xxxxxxxxx10xxxxxxxxxx
                                                         ldtrb.  */
                                                      return 914;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         01111000010xxxxxxxxx10xxxxxxxxxx
                                                         ldtrh.  */
                                                      return 917;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     1x111000010xxxxxxxxx10xxxxxxxxxx
                                                     ldtr.  */
                                                  return 920;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001110001x0xxxxxxxxx10xxxxxxxxxx
                                                     ldtrsb.  */
                                                  return 915;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101110001x0xxxxxxxxx10xxxxxxxxxx
                                                     ldtrsw.  */
                                                  return 921;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x11110001x0xxxxxxxxx10xxxxxxxxxx
                                                 ldtrsh.  */
                                              return 918;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 23) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         00111000001xxxxxxxxx10xxxxxxxxxx
                                                         strb.  */
                                                      return 901;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         01111000001xxxxxxxxx10xxxxxxxxxx
                                                         strh.  */
                                                      return 906;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     1x111000001xxxxxxxxx10xxxxxxxxxx
                                                     str.  */
                                                  return 909;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         00111000011xxxxxxxxx10xxxxxxxxxx
                                                         ldrb.  */
                                                      return 902;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         01111000011xxxxxxxxx10xxxxxxxxxx
                                                         ldrh.  */
                                                      return 907;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     1x111000011xxxxxxxxx10xxxxxxxxxx
                                                     ldr.  */
                                                  return 910;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001110001x1xxxxxxxxx10xxxxxxxxxx
                                                     ldrsb.  */
                                                  return 903;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101110001x1xxxxxxxxx10xxxxxxxxxx
                                                     ldrsw.  */
                                                  return 911;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     011110001x1xxxxxxxxx10xxxxxxxxxx
                                                     ldrsh.  */
                                                  return 908;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111110001x1xxxxxxxxx10xxxxxxxxxx
                                                     prfm.  */
                                                  return 912;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 21) & 0x1) == 0)
                                {
                                  if (((word >> 23) & 0x1) == 0)
                                    {
                                      if (((word >> 22) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     00111000000xxxxxxxxxx1xxxxxxxxxx
                                                     strb.  */
                                                  return 870;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     01111000000xxxxxxxxxx1xxxxxxxxxx
                                                     strh.  */
                                                  return 875;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 1x111000000xxxxxxxxxx1xxxxxxxxxx
                                                 str.  */
                                              return 878;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     00111000010xxxxxxxxxx1xxxxxxxxxx
                                                     ldrb.  */
                                                  return 871;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     01111000010xxxxxxxxxx1xxxxxxxxxx
                                                     ldrh.  */
                                                  return 876;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 1x111000010xxxxxxxxxx1xxxxxxxxxx
                                                 ldr.  */
                                              return 879;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 001110001x0xxxxxxxxxx1xxxxxxxxxx
                                                 ldrsb.  */
                                              return 872;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 101110001x0xxxxxxxxxx1xxxxxxxxxx
                                                 ldrsw.  */
                                              return 880;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x11110001x0xxxxxxxxxx1xxxxxxxxxx
                                             ldrsh.  */
                                          return 877;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 23) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx1110000x1xxxxxxxxxx1xxxxxxxxxx
                                         ldraa.  */
                                      return 935;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx1110001x1xxxxxxxxxx1xxxxxxxxxx
                                         ldrab.  */
                                      return 936;
                                    }
                                }
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 23) & 0x1) == 0)
                        {
                          if (((word >> 22) & 0x1) == 0)
                            {
                              if (((word >> 29) & 0x1) == 0)
                                {
                                  if (((word >> 10) & 0x1) == 0)
                                    {
                                      if (((word >> 11) & 0x1) == 0)
                                        {
                                          if (((word >> 21) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         00011001000xxxxxxxxx00xxxxxxxxxx
                                                         stlurb.  */
                                                      return 3024;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         10011001000xxxxxxxxx00xxxxxxxxxx
                                                         stlur.  */
                                                      return 3032;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         01011001000xxxxxxxxx00xxxxxxxxxx
                                                         stlurh.  */
                                                      return 3028;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         11011001000xxxxxxxxx00xxxxxxxxxx
                                                         stlur.  */
                                                      return 3035;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001001xxxxx0x0000xxxxxxxxxx
                                                             stzgm.  */
                                                          return 964;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001001xxxxx1x0000xxxxxxxxxx
                                                             swpp.  */
                                                          return 1194;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0011001001xxxxxxx1000xxxxxxxxxx
                                                             rcwswpp.  */
                                                          return 3270;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1011001001xxxxxxx1000xxxxxxxxxx
                                                             rcwsswpp.  */
                                                          return 3278;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001001xxxxx0x0100xxxxxxxxxx
                                                             ldclrp.  */
                                                          return 1186;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x0011001001xxxxx1x0100xxxxxxxxxx
                                                                 rcwclrp.  */
                                                              return 3238;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1011001001xxxxx1x0100xxxxxxxxxx
                                                                 rcwsclrp.  */
                                                              return 3246;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001001xxxxx0x1100xxxxxxxxxx
                                                             ldsetp.  */
                                                          return 1190;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x0011001001xxxxx1x1100xxxxxxxxxx
                                                                 rcwsetp.  */
                                                              return 3254;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1011001001xxxxx1x1100xxxxxxxxxx
                                                                 rcwssetp.  */
                                                              return 3262;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 21) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx011001000xxxxxxxxx10xxxxxxxxxx
                                                 stilp.  */
                                              return 1199;
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0011001001xxxxxxxxx10xxxxxxxxxx
                                                     rcwcas.  */
                                                  return 3218;
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         01011001001xxxxxxxxx10xxxxxxxxxx
                                                         rcwscas.  */
                                                      return 3226;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         11011001001xxxxxxxxx10xxxxxxxxxx
                                                         stg.  */
                                                      return 881;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 11) & 0x1) == 0)
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011001000xxxxx000001xxxxxxxxxx
                                                                 cpyfp.  */
                                                              return 3084;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011001000xxxxx100001xxxxxxxxxx
                                                                 cpyfprn.  */
                                                              return 3090;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011001000xxxxx010001xxxxxxxxxx
                                                                 cpyfpwn.  */
                                                              return 3087;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011001000xxxxx110001xxxxxxxxxx
                                                                 cpyfpn.  */
                                                              return 3093;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011001000xxxxx001001xxxxxxxxxx
                                                                 cpyfprt.  */
                                                              return 3108;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011001000xxxxx101001xxxxxxxxxx
                                                                 cpyfprtrn.  */
                                                              return 3114;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011001000xxxxx011001xxxxxxxxxx
                                                                 cpyfprtwn.  */
                                                              return 3111;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011001000xxxxx111001xxxxxxxxxx
                                                                 cpyfprtn.  */
                                                              return 3117;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011001000xxxxx000101xxxxxxxxxx
                                                                 cpyfpwt.  */
                                                              return 3096;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011001000xxxxx100101xxxxxxxxxx
                                                                 cpyfpwtrn.  */
                                                              return 3102;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011001000xxxxx010101xxxxxxxxxx
                                                                 cpyfpwtwn.  */
                                                              return 3099;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011001000xxxxx110101xxxxxxxxxx
                                                                 cpyfpwtn.  */
                                                              return 3105;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011001000xxxxx001101xxxxxxxxxx
                                                                 cpyfpt.  */
                                                              return 3120;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011001000xxxxx101101xxxxxxxxxx
                                                                 cpyfptrn.  */
                                                              return 3126;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011001000xxxxx011101xxxxxxxxxx
                                                                 cpyfptwn.  */
                                                              return 3123;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011001000xxxxx111101xxxxxxxxxx
                                                                 cpyfptn.  */
                                                              return 3129;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx011001000xxxxxxxx011xxxxxxxxxx
                                                     gcsstr.  */
                                                  return 1269;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx011001000xxxxxxxx111xxxxxxxxxx
                                                     gcssttr.  */
                                                  return 1270;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0011001001xxxxxxxxxx1xxxxxxxxxx
                                                 rcwcasp.  */
                                              return 3222;
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     01011001001xxxxxxxxxx1xxxxxxxxxx
                                                     rcwscasp.  */
                                                  return 3230;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     11011001001xxxxxxxxxx1xxxxxxxxxx
                                                     stg.  */
                                                  return 885;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 31) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             0011100100xxxxxxxxxxxxxxxxxxxxxx
                                             strb.  */
                                          return 889;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             0111100100xxxxxxxxxxxxxxxxxxxxxx
                                             strh.  */
                                          return 894;
                                        }
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         1x11100100xxxxxxxxxxxxxxxxxxxxxx
                                         str.  */
                                      return 897;
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 29) & 0x1) == 0)
                                {
                                  if (((word >> 10) & 0x1) == 0)
                                    {
                                      if (((word >> 11) & 0x1) == 0)
                                        {
                                          if (((word >> 21) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         00011001010xxxxxxxxx00xxxxxxxxxx
                                                         ldapurb.  */
                                                      return 3025;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         10011001010xxxxxxxxx00xxxxxxxxxx
                                                         ldapur.  */
                                                      return 3033;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         01011001010xxxxxxxxx00xxxxxxxxxx
                                                         ldapurh.  */
                                                      return 3029;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         11011001010xxxxxxxxx00xxxxxxxxxx
                                                         ldapur.  */
                                                      return 3036;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      if (((word >> 13) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0011001011xxxxxxx0000xxxxxxxxxx
                                                             swppl.  */
                                                          return 1197;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0011001011xxxxxxx1000xxxxxxxxxx
                                                             rcwswppl.  */
                                                          return 3273;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 13) & 0x1) == 0)
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x0011001011xxxxx0x0100xxxxxxxxxx
                                                                 ldclrpl.  */
                                                              return 1189;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x0011001011xxxxx1x0100xxxxxxxxxx
                                                                 rcwclrpl.  */
                                                              return 3241;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 15) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x0011001011xxxxx0x1100xxxxxxxxxx
                                                                 ldsetpl.  */
                                                              return 1193;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x0011001011xxxxx1x1100xxxxxxxxxx
                                                                 rcwsetpl.  */
                                                              return 3257;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             01011001011xxxxxxxx000xxxxxxxxxx
                                                             rcwsswppl.  */
                                                          return 3281;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 13) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 01011001011xxxxxxx0100xxxxxxxxxx
                                                                 rcwsclrpl.  */
                                                              return 3249;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 01011001011xxxxxxx1100xxxxxxxxxx
                                                                 rcwssetpl.  */
                                                              return 3265;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         11011001011xxxxxxxxx00xxxxxxxxxx
                                                         ldg.  */
                                                      return 934;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 21) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx011001010xxxxxxxxx10xxxxxxxxxx
                                                 ldiapp.  */
                                              return 1198;
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0011001011xxxxxxxxx10xxxxxxxxxx
                                                     rcwcasl.  */
                                                  return 3221;
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         01011001011xxxxxxxxx10xxxxxxxxxx
                                                         rcwscasl.  */
                                                      return 3229;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         11011001011xxxxxxxxx10xxxxxxxxxx
                                                         stzg.  */
                                                      return 882;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001010xxxxx0000x1xxxxxxxxxx
                                                             cpyfm.  */
                                                          return 3085;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001010xxxxx1000x1xxxxxxxxxx
                                                             cpyfmrn.  */
                                                          return 3091;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001010xxxxx0100x1xxxxxxxxxx
                                                             cpyfmwn.  */
                                                          return 3088;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001010xxxxx1100x1xxxxxxxxxx
                                                             cpyfmn.  */
                                                          return 3094;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001010xxxxx0010x1xxxxxxxxxx
                                                             cpyfmrt.  */
                                                          return 3109;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001010xxxxx1010x1xxxxxxxxxx
                                                             cpyfmrtrn.  */
                                                          return 3115;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001010xxxxx0110x1xxxxxxxxxx
                                                             cpyfmrtwn.  */
                                                          return 3112;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001010xxxxx1110x1xxxxxxxxxx
                                                             cpyfmrtn.  */
                                                          return 3118;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001010xxxxx0001x1xxxxxxxxxx
                                                             cpyfmwt.  */
                                                          return 3097;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001010xxxxx1001x1xxxxxxxxxx
                                                             cpyfmwtrn.  */
                                                          return 3103;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001010xxxxx0101x1xxxxxxxxxx
                                                             cpyfmwtwn.  */
                                                          return 3100;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001010xxxxx1101x1xxxxxxxxxx
                                                             cpyfmwtn.  */
                                                          return 3106;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001010xxxxx0011x1xxxxxxxxxx
                                                             cpyfmt.  */
                                                          return 3121;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001010xxxxx1011x1xxxxxxxxxx
                                                             cpyfmtrn.  */
                                                          return 3127;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001010xxxxx0111x1xxxxxxxxxx
                                                             cpyfmtwn.  */
                                                          return 3124;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001010xxxxx1111x1xxxxxxxxxx
                                                             cpyfmtn.  */
                                                          return 3130;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0011001011xxxxxxxxxx1xxxxxxxxxx
                                                 rcwcaspl.  */
                                              return 3225;
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     01011001011xxxxxxxxxx1xxxxxxxxxx
                                                     rcwscaspl.  */
                                                  return 3233;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     11011001011xxxxxxxxxx1xxxxxxxxxx
                                                     stzg.  */
                                                  return 886;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 31) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             0011100101xxxxxxxxxxxxxxxxxxxxxx
                                             ldrb.  */
                                          return 890;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             0111100101xxxxxxxxxxxxxxxxxxxxxx
                                             ldrh.  */
                                          return 895;
                                        }
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         1x11100101xxxxxxxxxxxxxxxxxxxxxx
                                         ldr.  */
                                      return 898;
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 10) & 0x1) == 0)
                                {
                                  if (((word >> 11) & 0x1) == 0)
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         00011001100xxxxxxxxx00xxxxxxxxxx
                                                         ldapursb.  */
                                                      return 3027;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         10011001100xxxxxxxxx00xxxxxxxxxx
                                                         ldapursw.  */
                                                      return 3034;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1011001100xxxxxxxxx00xxxxxxxxxx
                                                     ldapursh.  */
                                                  return 3031;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0011001110xxxxxxxxx00xxxxxxxxxx
                                                     ldapursb.  */
                                                  return 3026;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1011001110xxxxxxxxx00xxxxxxxxxx
                                                     ldapursh.  */
                                                  return 3030;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001101xxxxx0x0000xxxxxxxxxx
                                                             stgm.  */
                                                          return 963;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001111xxxxx0x0000xxxxxxxxxx
                                                             ldgm.  */
                                                          return 962;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001101xxxxx1x0000xxxxxxxxxx
                                                             swppa.  */
                                                          return 1195;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001111xxxxx1x0000xxxxxxxxxx
                                                             swppal.  */
                                                          return 1196;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0011001101xxxxxxx1000xxxxxxxxxx
                                                             rcwswppa.  */
                                                          return 3271;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1011001101xxxxxxx1000xxxxxxxxxx
                                                             rcwsswppa.  */
                                                          return 3279;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0011001111xxxxxxx1000xxxxxxxxxx
                                                             rcwswppal.  */
                                                          return 3272;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1011001111xxxxxxx1000xxxxxxxxxx
                                                             rcwsswppal.  */
                                                          return 3280;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001101xxxxx0x0100xxxxxxxxxx
                                                             ldclrpa.  */
                                                          return 1187;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001111xxxxx0x0100xxxxxxxxxx
                                                             ldclrpal.  */
                                                          return 1188;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x0011001101xxxxx1x0100xxxxxxxxxx
                                                                 rcwclrpa.  */
                                                              return 3239;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1011001101xxxxx1x0100xxxxxxxxxx
                                                                 rcwsclrpa.  */
                                                              return 3247;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x0011001111xxxxx1x0100xxxxxxxxxx
                                                                 rcwclrpal.  */
                                                              return 3240;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1011001111xxxxx1x0100xxxxxxxxxx
                                                                 rcwsclrpal.  */
                                                              return 3248;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001101xxxxx0x1100xxxxxxxxxx
                                                             ldsetpa.  */
                                                          return 1191;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001111xxxxx0x1100xxxxxxxxxx
                                                             ldsetpal.  */
                                                          return 1192;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x0011001101xxxxx1x1100xxxxxxxxxx
                                                                 rcwsetpa.  */
                                                              return 3255;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1011001101xxxxx1x1100xxxxxxxxxx
                                                                 rcwssetpa.  */
                                                              return 3263;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x0011001111xxxxx1x1100xxxxxxxxxx
                                                                 rcwsetpal.  */
                                                              return 3256;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1011001111xxxxx1x1100xxxxxxxxxx
                                                                 rcwssetpal.  */
                                                              return 3264;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx011001100xxxxxxxxx10xxxxxxxxxx
                                                 stlr.  */
                                              return 1201;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx011001110xxxxxxxxx10xxxxxxxxxx
                                                 ldapr.  */
                                              return 1200;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0011001101xxxxxxxxx10xxxxxxxxxx
                                                     rcwcasa.  */
                                                  return 3219;
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         01011001101xxxxxxxxx10xxxxxxxxxx
                                                         rcwscasa.  */
                                                      return 3227;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         11011001101xxxxxxxxx10xxxxxxxxxx
                                                         st2g.  */
                                                      return 883;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0011001111xxxxxxxxx10xxxxxxxxxx
                                                     rcwcasal.  */
                                                  return 3220;
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         01011001111xxxxxxxxx10xxxxxxxxxx
                                                         rcwscasal.  */
                                                      return 3228;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         11011001111xxxxxxxxx10xxxxxxxxxx
                                                         stz2g.  */
                                                      return 884;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001100xxxxx0000x1xxxxxxxxxx
                                                             cpyfe.  */
                                                          return 3086;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001110xxxxx0000x1xxxxxxxxxx
                                                             setp.  */
                                                          return 3180;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001100xxxxx1000x1xxxxxxxxxx
                                                             cpyfern.  */
                                                          return 3092;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001110xxxxx1000x1xxxxxxxxxx
                                                             sete.  */
                                                          return 3182;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001100xxxxx0100x1xxxxxxxxxx
                                                             cpyfewn.  */
                                                          return 3089;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001110xxxxx0100x1xxxxxxxxxx
                                                             setm.  */
                                                          return 3181;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0110011x0xxxxx1100x1xxxxxxxxxx
                                                         cpyfen.  */
                                                      return 3095;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001100xxxxx0010x1xxxxxxxxxx
                                                             cpyfert.  */
                                                          return 3110;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001110xxxxx0010x1xxxxxxxxxx
                                                             setpn.  */
                                                          return 3186;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001100xxxxx1010x1xxxxxxxxxx
                                                             cpyfertrn.  */
                                                          return 3116;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001110xxxxx1010x1xxxxxxxxxx
                                                             seten.  */
                                                          return 3188;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001100xxxxx0110x1xxxxxxxxxx
                                                             cpyfertwn.  */
                                                          return 3113;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001110xxxxx0110x1xxxxxxxxxx
                                                             setmn.  */
                                                          return 3187;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0110011x0xxxxx1110x1xxxxxxxxxx
                                                         cpyfertn.  */
                                                      return 3119;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001100xxxxx0001x1xxxxxxxxxx
                                                             cpyfewt.  */
                                                          return 3098;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001110xxxxx0001x1xxxxxxxxxx
                                                             setpt.  */
                                                          return 3183;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001100xxxxx1001x1xxxxxxxxxx
                                                             cpyfewtrn.  */
                                                          return 3104;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001110xxxxx1001x1xxxxxxxxxx
                                                             setet.  */
                                                          return 3185;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001100xxxxx0101x1xxxxxxxxxx
                                                             cpyfewtwn.  */
                                                          return 3101;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001110xxxxx0101x1xxxxxxxxxx
                                                             setmt.  */
                                                          return 3184;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0110011x0xxxxx1101x1xxxxxxxxxx
                                                         cpyfewtn.  */
                                                      return 3107;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001100xxxxx0011x1xxxxxxxxxx
                                                             cpyfet.  */
                                                          return 3122;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001110xxxxx0011x1xxxxxxxxxx
                                                             setptn.  */
                                                          return 3189;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001100xxxxx1011x1xxxxxxxxxx
                                                             cpyfetrn.  */
                                                          return 3128;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001110xxxxx1011x1xxxxxxxxxx
                                                             setetn.  */
                                                          return 3191;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001100xxxxx0111x1xxxxxxxxxx
                                                             cpyfetwn.  */
                                                          return 3125;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011001110xxxxx0111x1xxxxxxxxxx
                                                             setmtn.  */
                                                          return 3190;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx0110011x0xxxxx1111x1xxxxxxxxxx
                                                         cpyfetn.  */
                                                      return 3131;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 22) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0011001101xxxxxxxxxx1xxxxxxxxxx
                                                 rcwcaspa.  */
                                              return 3223;
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     01011001101xxxxxxxxxx1xxxxxxxxxx
                                                     rcwscaspa.  */
                                                  return 3231;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     11011001101xxxxxxxxxx1xxxxxxxxxx
                                                     st2g.  */
                                                  return 887;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0011001111xxxxxxxxxx1xxxxxxxxxx
                                                 rcwcaspal.  */
                                              return 3224;
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     01011001111xxxxxxxxxx1xxxxxxxxxx
                                                     rcwscaspal.  */
                                                  return 3232;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     11011001111xxxxxxxxxx1xxxxxxxxxx
                                                     stz2g.  */
                                                  return 888;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 31) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         001110011xxxxxxxxxxxxxxxxxxxxxxx
                                         ldrsb.  */
                                      return 891;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         101110011xxxxxxxxxxxxxxxxxxxxxxx
                                         ldrsw.  */
                                      return 899;
                                    }
                                }
                              else
                                {
                                  if (((word >> 31) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         011110011xxxxxxxxxxxxxxxxxxxxxxx
                                         ldrsh.  */
                                      return 896;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         111110011xxxxxxxxxxxxxxxxxxxxxxx
                                         prfm.  */
                                      return 900;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
      else
        {
          if (((word >> 24) & 0x1) == 0)
            {
              if (((word >> 27) & 0x1) == 0)
                {
                  if (((word >> 23) & 0x1) == 0)
                    {
                      if (((word >> 29) & 0x1) == 0)
                        {
                          if (((word >> 30) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 x00x00100xxxxxxxxxxxxxxxxxxxxxxx
                                 and.  */
                              return 995;
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 x10x00100xxxxxxxxxxxxxxxxxxxxxxx
                                 eor.  */
                              return 999;
                            }
                        }
                      else
                        {
                          if (((word >> 30) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 x01x00100xxxxxxxxxxxxxxxxxxxxxxx
                                 orr.  */
                              return 997;
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 x11x00100xxxxxxxxxxxxxxxxxxxxxxx
                                 ands.  */
                              return 1000;
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 29) & 0x1) == 0)
                        {
                          if (((word >> 30) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 x00x00101xxxxxxxxxxxxxxxxxxxxxxx
                                 movn.  */
                              return 1216;
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 x10x00101xxxxxxxxxxxxxxxxxxxxxxx
                                 movz.  */
                              return 1218;
                            }
                        }
                      else
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xx1x00101xxxxxxxxxxxxxxxxxxxxxxx
                             movk.  */
                          return 1220;
                        }
                    }
                }
              else
                {
                  if (((word >> 21) & 0x1) == 0)
                    {
                      if (((word >> 28) & 0x1) == 0)
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x0001010xx0xxxxxxxxxxxxxxxxxxxxx
                                     and.  */
                                  return 1002;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x1001010xx0xxxxxxxxxxxxxxxxxxxxx
                                     eor.  */
                                  return 1009;
                                }
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x0101010xx0xxxxxxxxxxxxxxxxxxxxx
                                     orr.  */
                                  return 1004;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x1101010xx0xxxxxxxxxxxxxxxxxxxxx
                                     ands.  */
                                  return 1011;
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 22) & 0x1) == 0)
                            {
                              if (((word >> 23) & 0x1) == 0)
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 10) & 0x1) == 0)
                                        {
                                          if (((word >> 11) & 0x1) == 0)
                                            {
                                              if (((word >> 29) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0011010000xxxxxxx0x00xxxxxxxxxx
                                                         adc.  */
                                                      return 0;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1011010000xxxxxxx0x00xxxxxxxxxx
                                                         sbc.  */
                                                      return 2;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0111010000xxxxxxx0x00xxxxxxxxxx
                                                         adcs.  */
                                                      return 1;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1111010000xxxxxxx0x00xxxxxxxxxx
                                                         sbcs.  */
                                                      return 4;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxx11010000xxxxxx00x10xxxxxxxxxx
                                                     setf8.  */
                                                  return 3022;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxx11010000xxxxxx10x10xxxxxxxxxx
                                                     setf16.  */
                                                  return 3023;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxx11010000xxxxxxx0xx1xxxxxxxxxx
                                             rmif.  */
                                          return 3021;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x0x11010000xxxxxxx1xxxxxxxxxxxxx
                                             addpt.  */
                                          return 3409;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x1x11010000xxxxxxx1xxxxxxxxxxxxx
                                             subpt.  */
                                          return 3410;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 10) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x0x11010100xxxxxxxxxx0xxxxxxxxxx
                                             csel.  */
                                          return 662;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x1x11010100xxxxxxxxxx0xxxxxxxxxx
                                             csinv.  */
                                          return 666;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x0x11010100xxxxxxxxxx1xxxxxxxxxx
                                             csinc.  */
                                          return 663;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x1x11010100xxxxxxxxxx1xxxxxxxxxx
                                             csneg.  */
                                          return 669;
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 10) & 0x1) == 0)
                                {
                                  if (((word >> 11) & 0x1) == 0)
                                    {
                                      if (((word >> 23) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0x11010010xxxxxxxxx00xxxxxxxxxx
                                                 ccmn.  */
                                              return 660;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1x11010010xxxxxxxxx00xxxxxxxxxx
                                                 ccmp.  */
                                              return 661;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x0011010110xxxxxx00000xxxxxxxxxx
                                                                 subp.  */
                                                              return 721;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1011010110xxxx0x00000xxxxxxxxxx
                                                                     rbit.  */
                                                                  return 685;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     x1011010110xxxx1x00000xxxxxxxxxx
                                                                     pacia.  */
                                                                  return 693;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx111010110xxxxxx00000xxxxxxxxxx
                                                             subps.  */
                                                          return 722;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0x11010110xxxxxx10000xxxxxxxxxx
                                                             crc32b.  */
                                                          return 727;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1x11010110xxxxxx10000xxxxxxxxxx
                                                             xpaci.  */
                                                          return 709;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0x11010110xxxxxx01000xxxxxxxxxx
                                                             lslv.  */
                                                          return 713;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1x11010110xxxx0x01000xxxxxxxxxx
                                                                 abs.  */
                                                              return 3209;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1x11010110xxxx1x01000xxxxxxxxxx
                                                                 paciza.  */
                                                              return 701;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx11010110xxxxxx11000xxxxxxxxxx
                                                         smax.  */
                                                      return 3212;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0x11010110xxxxxx00100xxxxxxxxxx
                                                             irg.  */
                                                          return 724;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1x11010110xxxx0x00100xxxxxxxxxx
                                                                 clz.  */
                                                              return 690;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1x11010110xxxx1x00100xxxxxxxxxx
                                                                 autia.  */
                                                              return 697;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx11010110xxxxxx10100xxxxxxxxxx
                                                         crc32cb.  */
                                                      return 731;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x11010110xxxxxxx1100xxxxxxxxxx
                                                         pacga.  */
                                                      return 726;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1x11010110xxxxxxx1100xxxxxxxxxx
                                                         autiza.  */
                                                      return 705;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 23) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0x11010010xxxxxxxxx10xxxxxxxxxx
                                                 ccmn.  */
                                              return 658;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1x11010010xxxxxxxxx10xxxxxxxxxx
                                                 ccmp.  */
                                              return 659;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0x11010110xxxxxx00010xxxxxxxxxx
                                                             udiv.  */
                                                          return 711;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     01x11010110xxxx0x00010xxxxxxxxxx
                                                                     rev.  */
                                                                  return 687;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     11x11010110xxxx0x00010xxxxxxxxxx
                                                                     rev32.  */
                                                                  return 692;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1x11010110xxxx1x00010xxxxxxxxxx
                                                                 pacda.  */
                                                              return 695;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx11010110xxxxxx10010xxxxxxxxxx
                                                         crc32w.  */
                                                      return 729;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0x11010110xxxxxx01010xxxxxxxxxx
                                                             asrv.  */
                                                          return 717;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1x11010110xxxxxx01010xxxxxxxxxx
                                                             pacdza.  */
                                                          return 703;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx11010110xxxxxx11010xxxxxxxxxx
                                                         smin.  */
                                                      return 3214;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx11010110xxxx0x00110xxxxxxxxxx
                                                             ctz.  */
                                                          return 3211;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx11010110xxxx1x00110xxxxxxxxxx
                                                             autda.  */
                                                          return 699;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx11010110xxxxxx10110xxxxxxxxxx
                                                         crc32cw.  */
                                                      return 733;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxx11010110xxxxxxx1110xxxxxxxxxx
                                                     autdza.  */
                                                  return 707;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 11) & 0x1) == 0)
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx11010x10xxxx0x00001xxxxxxxxxx
                                                         rev16.  */
                                                      return 686;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx11010x10xxxx1x00001xxxxxxxxxx
                                                         pacib.  */
                                                      return 694;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x11010x10xxxxxx10001xxxxxxxxxx
                                                         crc32h.  */
                                                      return 728;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1x11010x10xxxxxx10001xxxxxxxxxx
                                                         xpacd.  */
                                                      return 710;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x11010x10xxxxxx01001xxxxxxxxxx
                                                         lsrv.  */
                                                      return 715;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1x11010x10xxxxxx01001xxxxxxxxxx
                                                         pacizb.  */
                                                      return 702;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxx11010x10xxxxxx11001xxxxxxxxxx
                                                     umax.  */
                                                  return 3213;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x11010x10xxxxxx00101xxxxxxxxxx
                                                         gmi.  */
                                                      return 725;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1x11010x10xxxx0x00101xxxxxxxxxx
                                                             cls.  */
                                                          return 691;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1x11010x10xxxx1x00101xxxxxxxxxx
                                                             autib.  */
                                                          return 698;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxx11010x10xxxxxx10101xxxxxxxxxx
                                                     crc32ch.  */
                                                  return 732;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxx11010x10xxxxxxx1101xxxxxxxxxx
                                                 autizb.  */
                                              return 706;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x11010x10xxxxxx00011xxxxxxxxxx
                                                         sdiv.  */
                                                      return 712;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1x11010x10xxxx0x00011xxxxxxxxxx
                                                             rev.  */
                                                          return 688;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1x11010x10xxxx1x00011xxxxxxxxxx
                                                             pacdb.  */
                                                          return 696;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxx11010x10xxxxxx10011xxxxxxxxxx
                                                     crc32x.  */
                                                  return 730;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x11010x10xxxxxx01011xxxxxxxxxx
                                                         rorv.  */
                                                      return 719;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1x11010x10xxxxxx01011xxxxxxxxxx
                                                         pacdzb.  */
                                                      return 704;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxx11010x10xxxxxx11011xxxxxxxxxx
                                                     umin.  */
                                                  return 3215;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx11010x10xxxx0x00111xxxxxxxxxx
                                                         cnt.  */
                                                      return 3210;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx11010x10xxxx1x00111xxxxxxxxxx
                                                         autdb.  */
                                                      return 700;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxx11010x10xxxxxx10111xxxxxxxxxx
                                                     crc32cx.  */
                                                  return 734;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxx11010x10xxxxxxx1111xxxxxxxxxx
                                                 autdzb.  */
                                              return 708;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 29) & 0x1) == 0)
                        {
                          if (((word >> 30) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 x00x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                 bic.  */
                              return 1003;
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 x10x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                 eon.  */
                              return 1010;
                            }
                        }
                      else
                        {
                          if (((word >> 30) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 x01x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                 orn.  */
                              return 1007;
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 x11x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                 bics.  */
                              return 1013;
                            }
                        }
                    }
                }
            }
          else
            {
              if (((word >> 27) & 0x1) == 0)
                {
                  if (((word >> 23) & 0x1) == 0)
                    {
                      if (((word >> 29) & 0x1) == 0)
                        {
                          if (((word >> 30) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 x00x00110xxxxxxxxxxxxxxxxxxxxxxx
                                 sbfm.  */
                              return 618;
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 x10x00110xxxxxxxxxxxxxxxxxxxxxxx
                                 ubfm.  */
                              return 629;
                            }
                        }
                      else
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xx1x00110xxxxxxxxxxxxxxxxxxxxxxx
                             bfm.  */
                          return 625;
                        }
                    }
                  else
                    {
                      /* 33222222222211111111110000000000
                         10987654321098765432109876543210
                         xxxx00111xxxxxxxxxxxxxxxxxxxxxxx
                         extr.  */
                      return 758;
                    }
                }
              else
                {
                  if (((word >> 21) & 0x1) == 0)
                    {
                      if (((word >> 28) & 0x1) == 0)
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x0001011xx0xxxxxxxxxxxxxxxxxxxxx
                                     add.  */
                                  return 21;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x1001011xx0xxxxxxxxxxxxxxxxxxxxx
                                     sub.  */
                                  return 24;
                                }
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x0101011xx0xxxxxxxxxxxxxxxxxxxxx
                                     adds.  */
                                  return 22;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x1101011xx0xxxxxxxxxxxxxxxxxxxxx
                                     subs.  */
                                  return 26;
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 15) & 0x1) == 0)
                            {
                              if (((word >> 22) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxx11011x00xxxxx0xxxxxxxxxxxxxxx
                                     madd.  */
                                  return 735;
                                }
                              else
                                {
                                  if (((word >> 23) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxx11011010xxxxx0xxxxxxxxxxxxxxx
                                         smulh.  */
                                      return 743;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxx11011110xxxxx0xxxxxxxxxxxxxxx
                                         umulh.  */
                                      return 748;
                                    }
                                }
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxx11011xx0xxxxx1xxxxxxxxxxxxxxx
                                 msub.  */
                              return 737;
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 22) & 0x1) == 0)
                        {
                          if (((word >> 23) & 0x1) == 0)
                            {
                              if (((word >> 28) & 0x1) == 0)
                                {
                                  if (((word >> 29) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x0001011001xxxxxxxxxxxxxxxxxxxxx
                                             add.  */
                                          return 6;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x1001011001xxxxxxxxxxxxxxxxxxxxx
                                             sub.  */
                                          return 9;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x0101011001xxxxxxxxxxxxxxxxxxxxx
                                             adds.  */
                                          return 7;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x1101011001xxxxxxxxxxxxxxxxxxxxx
                                             subs.  */
                                          return 10;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 15) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxx11011001xxxxx0xxxxxxxxxxxxxxx
                                         smaddl.  */
                                      return 739;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxx11011001xxxxx1xxxxxxxxxxxxxxx
                                         smsubl.  */
                                      return 741;
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 15) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxx1011101xxxxx0xxxxxxxxxxxxxxx
                                     umaddl.  */
                                  return 744;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxx1011101xxxxx1xxxxxxxxxxxxxxx
                                     umsubl.  */
                                  return 746;
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 15) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxx1011x11xxxxx0xxxxxxxxxxxxxxx
                                 maddpt.  */
                              return 3411;
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxx1011x11xxxxx1xxxxxxxxxxxxxxx
                                 msubpt.  */
                              return 3412;
                            }
                        }
                    }
                }
            }
        }
    }
  else
    {
      if (((word >> 27) & 0x1) == 0)
        {
          if (((word >> 28) & 0x1) == 0)
            {
              if (((word >> 24) & 0x1) == 0)
                {
                  if (((word >> 29) & 0x1) == 0)
                    {
                      if (((word >> 13) & 0x1) == 0)
                        {
                          if (((word >> 14) & 0x1) == 0)
                            {
                              if (((word >> 15) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx000000000xxxxxxxxxxxxx
                                                                     add.  */
                                                                  return 1341;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx010000000xxxxxxxxxxxxx
                                                                     mul.  */
                                                                  return 1811;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx001000000xxxxxxxxxxxxx
                                                                     smax.  */
                                                                  return 1891;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx011000000xxxxxxxxxxxxx
                                                                     orr.  */
                                                                  return 1822;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx000100000xxxxxxxxxxxxx
                                                                     addpt.  */
                                                                  return 3413;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx010100000xxxxxxxxxxxxx
                                                                     sdiv.  */
                                                                  return 1882;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x1100000xxxxxxxxxxxxx
                                                                 sabd.  */
                                                              return 1873;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x0010000xxxxxxxxxxxxx
                                                                 smulh.  */
                                                              return 1896;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx001010000xxxxxxxxxxxxx
                                                                     smin.  */
                                                                  return 1894;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx011010000xxxxxxxxxxxxx
                                                                     and.  */
                                                                  return 1349;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx0xx110000xxxxxxxxxxxxx
                                                             sdivr.  */
                                                          return 1883;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x0001000xxxxxxxxxxxxx
                                                                 sub.  */
                                                              return 2013;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx001001000xxxxxxxxxxxxx
                                                                     umax.  */
                                                                  return 2041;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx011001000xxxxxxxxxxxxx
                                                                     eor.  */
                                                                  return 1436;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx000101000xxxxxxxxxxxxx
                                                                     subpt.  */
                                                                  return 3415;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx010101000xxxxxxxxxxxxx
                                                                     udiv.  */
                                                                  return 2035;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x1101000xxxxxxxxxxxxx
                                                                 uabd.  */
                                                              return 2026;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx000011000xxxxxxxxxxxxx
                                                                     subr.  */
                                                                  return 2015;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx010011000xxxxxxxxxxxxx
                                                                     umulh.  */
                                                                  return 2046;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx001011000xxxxxxxxxxxxx
                                                                     umin.  */
                                                                  return 2044;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx011011000xxxxxxxxxxxxx
                                                                     bic.  */
                                                                  return 1361;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx0xx111000xxxxxxxxxxxxx
                                                             udivr.  */
                                                          return 2036;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x00x0xxxxx000xxxxxxxxxxxxx
                                                     ld1sb.  */
                                                  return 1623;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x01x0xxxxx000xxxxxxxxxxxxx
                                                     ld1sh.  */
                                                  return 1634;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx000000xxxxxxxxxx
                                                             sdot.  */
                                                          return 1884;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx000010xxxxxxxxxx
                                                             sqdmlalbt.  */
                                                          return 2235;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx000001xxxxxxxxxx
                                                             udot.  */
                                                          return 2037;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx000011xxxxxxxxxx
                                                             sqdmlslbt.  */
                                                          return 2242;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     010001x0xx0xxxxx0001xxxxxxxxxxxx
                                                     cdot.  */
                                                  return 2124;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x00x0xxxxx000xxxxxxxxxxxxx
                                                     ld1sb.  */
                                                  return 1627;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x01x0xxxxx000xxxxxxxxxxxxx
                                                     ld1sh.  */
                                                  return 1638;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx000000xxxxxxxxxx
                                                             add.  */
                                                          return 1339;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx000100xxxxxxxxxx
                                                             sqadd.  */
                                                          return 1898;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx000010xxxxxxxxxx
                                                             addpt.  */
                                                          return 3414;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx000110xxxxxxxxxx
                                                             sqsub.  */
                                                          return 1928;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx000001xxxxxxxxxx
                                                             sub.  */
                                                          return 2011;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx000101xxxxxxxxxx
                                                             uqadd.  */
                                                          return 2047;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx000011xxxxxxxxxx
                                                             subpt.  */
                                                          return 3416;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx000111xxxxxxxxxx
                                                             uqsub.  */
                                                          return 2077;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x00x1xxxxx000xxxxxxxxxxxxx
                                                     prfb.  */
                                                  return 1831;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x01x1xxxxx000xxxxxxxxxxxxx
                                                     ld1sh.  */
                                                  return 1635;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x00x1xxxxx000x00xxxxxxxxxx
                                                             sqrdmlah.  */
                                                          return 2260;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x00x1xxxxx000x10xxxxxxxxxx
                                                             mla.  */
                                                          return 2167;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x00x1xxxxx000x01xxxxxxxxxx
                                                             sqrdmlsh.  */
                                                          return 2264;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x00x1xxxxx000x11xxxxxxxxxx
                                                             mls.  */
                                                          return 2170;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x00x1xxxxx000xxxxxxxxxxxxx
                                                     prfb.  */
                                                  return 1832;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0101xxxxx000000xxxxxxxxxx
                                                                     sdot.  */
                                                                  return 1885;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0111xxxxx000000xxxxxxxxxx
                                                                     sdot.  */
                                                                  return 1886;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0101xxxxx000100xxxxxxxxxx
                                                                     sqrdmlah.  */
                                                                  return 2261;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0111xxxxx000100xxxxxxxxxx
                                                                     sqrdmlah.  */
                                                                  return 2262;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0101xxxxx000010xxxxxxxxxx
                                                                     mla.  */
                                                                  return 2168;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0111xxxxx000010xxxxxxxxxx
                                                                     mla.  */
                                                                  return 2169;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x01x1xxxxx000110xxxxxxxxxx
                                                                 usdot.  */
                                                              return 3041;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0101xxxxx000001xxxxxxxxxx
                                                                     udot.  */
                                                                  return 2038;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0111xxxxx000001xxxxxxxxxx
                                                                     udot.  */
                                                                  return 2039;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0101xxxxx000101xxxxxxxxxx
                                                                     sqrdmlsh.  */
                                                                  return 2265;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0111xxxxx000101xxxxxxxxxx
                                                                     sqrdmlsh.  */
                                                                  return 2266;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0101xxxxx000011xxxxxxxxxx
                                                                     mls.  */
                                                                  return 2171;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0111xxxxx000011xxxxxxxxxx
                                                                     mls.  */
                                                                  return 2172;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x01x1xxxxx000111xxxxxxxxxx
                                                                 sudot.  */
                                                              return 3042;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x01x1xxxxx000xxxxxxxxxxxxx
                                                     ld1sh.  */
                                                  return 1639;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 31) & 0x1) == 0)
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 16) & 0x1) == 0)
                                            {
                                              if (((word >> 17) & 0x1) == 0)
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0001x0xx000000100xxxxxxxxxxxxx
                                                                 asr.  */
                                                              return 1357;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx010000100xxxxxxxxxxxxx
                                                                     asr.  */
                                                                  return 1355;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0xx010000100xxxxxxxxxxxxx
                                                                     shadd.  */
                                                                  return 2201;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0001x0xx001000100xxxxxxxxxxxxx
                                                                 sqshl.  */
                                                              return 2279;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx011000100xxxxxxxxxxxxx
                                                                     asr.  */
                                                                  return 1356;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0xx011000100xxxxxxxxxxxxx
                                                                     sqadd.  */
                                                                  return 2230;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0001x0xx000100100xxxxxxxxxxxxx
                                                                 asrd.  */
                                                              return 1358;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx010100100xxxxxxxxxxxxx
                                                                     asrr.  */
                                                                  return 1359;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0xx010100100xxxxxxxxxxxxx
                                                                     srhadd.  */
                                                                  return 2292;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx001100100xxxxxxxxxxxxx
                                                                     srshr.  */
                                                                  return 2296;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0xx001100100xxxxxxxxxxxxx
                                                                     sqshlr.  */
                                                                  return 2280;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0001x0xx011100100xxxxxxxxxxxxx
                                                                 suqadd.  */
                                                              return 2316;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0001x0xx000010100xxxxxxxxxxxxx
                                                                 srshl.  */
                                                              return 2294;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0001x0xx010010100xxxxxxxxxxxxx
                                                                 shsub.  */
                                                              return 2204;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0001x0xx001010100xxxxxxxxxxxxx
                                                                 sqrshl.  */
                                                              return 2272;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0001x0xx011010100xxxxxxxxxxxxx
                                                                 sqsub.  */
                                                              return 2286;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx000110100xxxxxxxxxxxxx
                                                                     sqshl.  */
                                                                  return 2278;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0xx000110100xxxxxxxxxxxxx
                                                                     srshlr.  */
                                                                  return 2295;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0001x0xx010110100xxxxxxxxxxxxx
                                                                 shsubr.  */
                                                              return 2205;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0001x0xx001110100xxxxxxxxxxxxx
                                                                 sqrshlr.  */
                                                              return 2273;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0001x0xx011110100xxxxxxxxxxxxx
                                                                 sqsubr.  */
                                                              return 2287;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 17) & 0x1) == 0)
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0001x0xx000001100xxxxxxxxxxxxx
                                                                 lsr.  */
                                                              return 1802;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx010001100xxxxxxxxxxxxx
                                                                     lsr.  */
                                                                  return 1800;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0xx010001100xxxxxxxxxxxxx
                                                                     uhadd.  */
                                                                  return 2329;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0001x0xx001001100xxxxxxxxxxxxx
                                                                 uqshl.  */
                                                              return 2359;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx011001100xxxxxxxxxxxxx
                                                                     lsr.  */
                                                                  return 1801;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0xx011001100xxxxxxxxxxxxx
                                                                     uqadd.  */
                                                                  return 2353;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x0101100xxxxxxxxxxxxx
                                                                 lsrr.  */
                                                              return 1803;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0xx0x0101100xxxxxxxxxxxxx
                                                                 urhadd.  */
                                                              return 2368;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx001101100xxxxxxxxxxxxx
                                                                     urshr.  */
                                                                  return 2371;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0xx001101100xxxxxxxxxxxxx
                                                                     uqshlr.  */
                                                                  return 2360;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0001x0xx011101100xxxxxxxxxxxxx
                                                                 usqadd.  */
                                                              return 2376;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx000011100xxxxxxxxxxxxx
                                                                     lsl.  */
                                                                  return 1796;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0xx000011100xxxxxxxxxxxxx
                                                                     urshl.  */
                                                                  return 2369;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx010011100xxxxxxxxxxxxx
                                                                     lsl.  */
                                                                  return 1794;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0xx010011100xxxxxxxxxxxxx
                                                                     uhsub.  */
                                                                  return 2330;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0001x0xx001011100xxxxxxxxxxxxx
                                                                 uqrshl.  */
                                                              return 2354;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx011011100xxxxxxxxxxxxx
                                                                     lsl.  */
                                                                  return 1795;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0xx011011100xxxxxxxxxxxxx
                                                                     uqsub.  */
                                                                  return 2363;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx000111100xxxxxxxxxxxxx
                                                                     uqshl.  */
                                                                  return 2358;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0xx000111100xxxxxxxxxxxxx
                                                                     urshlr.  */
                                                                  return 2370;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx010111100xxxxxxxxxxxxx
                                                                     lslr.  */
                                                                  return 1797;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0xx010111100xxxxxxxxxxxxx
                                                                     uhsubr.  */
                                                                  return 2331;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx001111100xxxxxxxxxxxxx
                                                                     sqshlu.  */
                                                                  return 2281;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0xx001111100xxxxxxxxxxxxx
                                                                     uqrshlr.  */
                                                                  return 2355;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0001x0xx011111100xxxxxxxxxxxxx
                                                                 uqsubr.  */
                                                              return 2364;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 10) & 0x1) == 0)
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         000001x0xx1xxxxx1000x0xxxxxxxxxx
                                                         asr.  */
                                                      return 1353;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0x01xxxxx1000x0xxxxxxxxxx
                                                             smlalb.  */
                                                          return 2209;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0x11xxxxx1000x0xxxxxxxxxx
                                                             smlalb.  */
                                                          return 2210;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         000001x0xx1xxxxx1001x0xxxxxxxxxx
                                                         asr.  */
                                                      return 1354;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0x01xxxxx1001x0xxxxxxxxxx
                                                             umlalb.  */
                                                          return 2334;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0x11xxxxx1001x0xxxxxxxxxx
                                                             umlalb.  */
                                                          return 2335;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx100001xxxxxxxxxx
                                                             lsr.  */
                                                          return 1798;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx100011xxxxxxxxxx
                                                             lsl.  */
                                                          return 1792;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0x01xxxxx1000x1xxxxxxxxxx
                                                             smlalt.  */
                                                          return 2212;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0x11xxxxx1000x1xxxxxxxxxx
                                                             smlalt.  */
                                                          return 2213;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx100101xxxxxxxxxx
                                                             lsr.  */
                                                          return 1799;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx100111xxxxxxxxxx
                                                             lsl.  */
                                                          return 1793;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0x01xxxxx1001x1xxxxxxxxxx
                                                             umlalt.  */
                                                          return 2337;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0x11xxxxx1001x1xxxxxxxxxx
                                                             umlalt.  */
                                                          return 2338;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 22) & 0x1) == 0)
                                        {
                                          if (((word >> 21) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     1x0001x0000xxxxx100xxxxxxxxxxxxx
                                                     ldnt1sb.  */
                                                  return 2161;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     1x0001x0100xxxxx100xxxxxxxxxxxxx
                                                     ldnt1sh.  */
                                                  return 2162;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x0001xxxxx100xxxxxxxxxxxxx
                                                         ld1sb.  */
                                                      return 1629;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0001xxxxx100xxxxxxxxxxxxx
                                                         ld1sb.  */
                                                      return 1633;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x0101xxxxx100xxxxxxxxxxxxx
                                                         ld1sh.  */
                                                      return 1642;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0101xxxxx100xxxxxxxxxxxxx
                                                         ld1sh.  */
                                                      return 1645;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x001xxxxxx100xxxxxxxxxxxxx
                                                     ld1rb.  */
                                                  return 1599;
                                                }
                                              else
                                                {
                                                  if (((word >> 21) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0010xxxxx100xxxxxxxxxxxxx
                                                         ld1sb.  */
                                                      return 1628;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0011xxxxx100xxxxxxxxxxxxx
                                                         prfb.  */
                                                      return 1833;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x011xxxxxx100xxxxxxxxxxxxx
                                                     ld1rsw.  */
                                                  return 1620;
                                                }
                                              else
                                                {
                                                  if (((word >> 21) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0110xxxxx100xxxxxxxxxxxxx
                                                         ld1sh.  */
                                                      return 1640;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0111xxxxx100xxxxxxxxxxxxx
                                                         ld1sh.  */
                                                      return 1641;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 15) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 000001x0xx0xxxxx010xxxxxxxxxxxxx
                                                 mla.  */
                                              return 1805;
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x00x0xxxxx010xxxxxxxxxxxxx
                                                     ld1b.  */
                                                  return 1565;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x01x0xxxxx010xxxxxxxxxxxxx
                                                     ld1h.  */
                                                  return 1585;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx010000xxxxxxxxxx
                                                             smlalb.  */
                                                          return 2211;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx010100xxxxxxxxxx
                                                             smlslb.  */
                                                          return 2217;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx010010xxxxxxxxxx
                                                             umlalb.  */
                                                          return 2336;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx010110xxxxxxxxxx
                                                             umlslb.  */
                                                          return 2342;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx010001xxxxxxxxxx
                                                             smlalt.  */
                                                          return 2214;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx010101xxxxxxxxxx
                                                             smlslt.  */
                                                          return 2220;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx010011xxxxxxxxxx
                                                             umlalt.  */
                                                          return 2339;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx010111xxxxxxxxxx
                                                             umlslt.  */
                                                          return 2345;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x00x0xxxxx010xxxxxxxxxxxxx
                                                     ld1b.  */
                                                  return 1570;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x01x0xxxxx010xxxxxxxxxxxxx
                                                     ld1h.  */
                                                  return 1590;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 11) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx010000xxxxxxxxxx
                                                             index.  */
                                                          return 1556;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx010001xxxxxxxxxx
                                                             index.  */
                                                          return 1557;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0001xxxxx01010xxxxxxxxxxx
                                                                 addvl.  */
                                                              return 1343;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0101xxxxx01010xxxxxxxxxxx
                                                                 rdvl.  */
                                                              return 1867;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0x11xxxxx01010xxxxxxxxxxx
                                                             addpl.  */
                                                          return 1342;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx010010xxxxxxxxxx
                                                             index.  */
                                                          return 1558;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx010011xxxxxxxxxx
                                                             index.  */
                                                          return 1555;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0001xxxxx01011xxxxxxxxxxx
                                                                 addsvl.  */
                                                              return 2408;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0101xxxxx01011xxxxxxxxxxx
                                                                 rdsvl.  */
                                                              return 2419;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0x11xxxxx01011xxxxxxxxxxx
                                                             addspl.  */
                                                          return 2407;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x00x1xxxxx010xxxxxxxxxxxxx
                                                     prfw.  */
                                                  return 1851;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x01x1xxxxx010xxxxxxxxxxxxx
                                                     ld1h.  */
                                                  return 1586;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x10001x00x1xxxxx010xxxxxxxxxxxxx
                                                 prfw.  */
                                              return 1853;
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x0101xxxxx010xxxxxxxxxxxxx
                                                         cdot.  */
                                                      return 2126;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x0111xxxxx010xxxxxxxxxxxxx
                                                         cdot.  */
                                                      return 2125;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x01x1xxxxx010xxxxxxxxxxxxx
                                                     ld1h.  */
                                                  return 1591;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 30) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 21) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 000001x0xx0xxxxx110xxxxxxxxxxxxx
                                                 mad.  */
                                              return 1804;
                                            }
                                          else
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0x010xxxx110x00xxxxxxxxxx
                                                                 sqincw.  */
                                                              return 1925;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x00110xxxx110x00xxxxxxxxxx
                                                                     sqinch.  */
                                                                  return 1919;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x01110xxxx110x00xxxxxxxxxx
                                                                     sqincd.  */
                                                                  return 1916;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0x011xxxx110x00xxxxxxxxxx
                                                                 incw.  */
                                                              return 1553;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x00111xxxx110x00xxxxxxxxxx
                                                                     inch.  */
                                                                  return 1549;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x01111xxxx110x00xxxxxxxxxx
                                                                     incd.  */
                                                                  return 1547;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0x01xxxxx110x10xxxxxxxxxx
                                                             sqdecw.  */
                                                          return 1911;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0011xxxxx110x10xxxxxxxxxx
                                                                 sqdech.  */
                                                              return 1905;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0111xxxxx110x10xxxxxxxxxx
                                                                 sqdecd.  */
                                                              return 1902;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0x010xxxx110x01xxxxxxxxxx
                                                                 uqincw.  */
                                                              return 2074;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x00110xxxx110x01xxxxxxxxxx
                                                                     uqinch.  */
                                                                  return 2068;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x01110xxxx110x01xxxxxxxxxx
                                                                     uqincd.  */
                                                                  return 2065;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0x011xxxx110x01xxxxxxxxxx
                                                                 decw.  */
                                                              return 1428;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x00111xxxx110x01xxxxxxxxxx
                                                                     dech.  */
                                                                  return 1424;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x01111xxxx110x01xxxxxxxxxx
                                                                     decd.  */
                                                                  return 1422;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0x01xxxxx110x11xxxxxxxxxx
                                                             uqdecw.  */
                                                          return 2060;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0011xxxxx110x11xxxxxxxxxx
                                                                 uqdech.  */
                                                              return 2054;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0111xxxxx110x11xxxxxxxxxx
                                                                 uqdecd.  */
                                                              return 2051;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x0000xxxxx110xxxxxxxxxxxxx
                                                         prfb.  */
                                                      return 1830;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x0100xxxxx110xxxxxxxxxxxxx
                                                         prfh.  */
                                                      return 1845;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x0001xxxxx110xxxxxxxxxxxxx
                                                         ld1b.  */
                                                      return 1572;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x0101xxxxx110xxxxxxxxxxxxx
                                                         ld1h.  */
                                                      return 1594;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x001xxxxxx110xxxxxxxxxxxxx
                                                     ld1rb.  */
                                                  return 1601;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x011xxxxxx110xxxxxxxxxxxxx
                                                     ld1rh.  */
                                                  return 1605;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx110000xxxxxxxxxx
                                                             sclamp.  */
                                                          return 2464;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx110100xxxxxxxxxx
                                                             mlapt.  */
                                                          return 3418;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x00x0xxxxx110010xxxxxxxxxx
                                                                 sdot.  */
                                                              return 2477;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x01x0xxxxx110010xxxxxxxxxx
                                                                 sdot.  */
                                                              return 2476;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx110110xxxxxxxxxx
                                                             madpt.  */
                                                          return 3417;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x0xx0xxxxx110x01xxxxxxxxxx
                                                         uclamp.  */
                                                      return 2465;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x00x0xxxxx110x11xxxxxxxxxx
                                                             udot.  */
                                                          return 2483;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x01x0xxxxx110x11xxxxxxxxxx
                                                             udot.  */
                                                          return 2482;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0000xxxxx110xxxxxxxxxxxxx
                                                         ldnt1b.  */
                                                      return 2157;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0100xxxxx110xxxxxxxxxxxxx
                                                         ldnt1h.  */
                                                      return 2160;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0010xxxxx110xxxxxxxxxxxxx
                                                         ld1b.  */
                                                      return 1571;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0110xxxxx110xxxxxxxxxxxxx
                                                         ld1h.  */
                                                      return 1592;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10001x0001xxxxx110xxxxxxxxxxxxx
                                                     ld1b.  */
                                                  return 1577;
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0101xxxxx1100x0xxxxxxxxxx
                                                                 smullb.  */
                                                              return 2222;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0101xxxxx1101x0xxxxxxxxxx
                                                                 umullb.  */
                                                              return 2347;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0101xxxxx1100x1xxxxxxxxxx
                                                                 smullt.  */
                                                              return 2225;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0101xxxxx1101x1xxxxxxxxxx
                                                                 umullt.  */
                                                              return 2350;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0101xxxxx110xxxxxxxxxxxxx
                                                         ld1h.  */
                                                      return 1598;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10001x0011xxxxx110xxxxxxxxxxxxx
                                                     prfw.  */
                                                  return 1854;
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0111xxxxx1100x0xxxxxxxxxx
                                                                 smullb.  */
                                                              return 2223;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0111xxxxx1101x0xxxxxxxxxx
                                                                 umullb.  */
                                                              return 2348;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0111xxxxx1100x1xxxxxxxxxx
                                                                 smullt.  */
                                                              return 2226;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0111xxxxx1101x1xxxxxxxxxx
                                                                 umullt.  */
                                                              return 2351;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0111xxxxx110xxxxxxxxxxxxx
                                                         ld1h.  */
                                                      return 1593;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 14) & 0x1) == 0)
                            {
                              if (((word >> 15) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 17) & 0x1) == 0)
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx000000001xxxxxxxxxxxxx
                                                                     saddv.  */
                                                                  return 1874;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx000001001xxxxxxxxxxxxx
                                                                     uaddv.  */
                                                                  return 2027;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx01000x001xxxxxxxxxxxxx
                                                                 movprfx.  */
                                                              return 1808;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx001000001xxxxxxxxxxxxx
                                                                     smaxv.  */
                                                                  return 1892;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx011000001xxxxxxxxxxxxx
                                                                     orv.  */
                                                                  return 1825;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx001001001xxxxxxxxxxxxx
                                                                     umaxv.  */
                                                                  return 2042;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx011001001xxxxxxxxxxxxx
                                                                     eorv.  */
                                                                  return 1439;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx00x100001xxxxxxxxxxxxx
                                                                 smaxqv.  */
                                                              return 3327;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx01x100001xxxxxxxxxxxxx
                                                                 orqv.  */
                                                              return 3338;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x0101001xxxxxxxxxxxxx
                                                                 addqv.  */
                                                              return 3325;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx001101001xxxxxxxxxxxxx
                                                                     umaxqv.  */
                                                                  return 3329;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0xx011101001xxxxxxxxxxxxx
                                                                     eorqv.  */
                                                                  return 3331;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx00x010001xxxxxxxxxxxxx
                                                                 sminv.  */
                                                              return 1895;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx01x010001xxxxxxxxxxxxx
                                                                 andv.  */
                                                              return 1352;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx00x110001xxxxxxxxxxxxx
                                                                 sminqv.  */
                                                              return 3328;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx01x110001xxxxxxxxxxxxx
                                                                 andqv.  */
                                                              return 3326;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx0xx011001xxxxxxxxxxxxx
                                                             uminv.  */
                                                          return 2045;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx0xx111001xxxxxxxxxxxxx
                                                             uminqv.  */
                                                          return 3330;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x00x0xxxxx001xxxxxxxxxxxxx
                                                     ldff1sb.  */
                                                  return 1723;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x01x0xxxxx001xxxxxxxxxxxxx
                                                     ldff1sh.  */
                                                  return 1734;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     010001x0xx0xxxxx0010xxxxxxxxxxxx
                                                     cmla.  */
                                                  return 2127;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     010001x0xx0xxxxx0011xxxxxxxxxxxx
                                                     sqrdcmlah.  */
                                                  return 2259;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x00x0xxxxx001xxxxxxxxxxxxx
                                                     ldff1sb.  */
                                                  return 1730;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x01x0xxxxx001xxxxxxxxxxxxx
                                                     ldff1sh.  */
                                                  return 1740;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0001xxxxx001x00xxxxxxxxxx
                                                                 and.  */
                                                              return 1347;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0101xxxxx001x00xxxxxxxxxx
                                                                 eor.  */
                                                              return 1434;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0011xxxxx001x00xxxxxxxxxx
                                                                 orr.  */
                                                              return 1820;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0111xxxxx001x00xxxxxxxxxx
                                                                 bic.  */
                                                              return 1360;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0x01xxxxx001x10xxxxxxxxxx
                                                             eor3.  */
                                                          return 2130;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0x11xxxxx001x10xxxxxxxxxx
                                                             bcax.  */
                                                          return 2119;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         000001x0xx1xxxxx001x01xxxxxxxxxx
                                                         xar.  */
                                                      return 2392;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0001xxxxx001x11xxxxxxxxxx
                                                                 bsl.  */
                                                              return 2120;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0101xxxxx001x11xxxxxxxxxx
                                                                 bsl2n.  */
                                                              return 2122;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0011xxxxx001x11xxxxxxxxxx
                                                                 bsl1n.  */
                                                              return 2121;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0111xxxxx001x11xxxxxxxxxx
                                                                 nbsl.  */
                                                              return 2177;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x00x1xxxxx001xxxxxxxxxxxxx
                                                     prfh.  */
                                                  return 1844;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x01x1xxxxx001xxxxxxxxxxxxx
                                                     ldff1sh.  */
                                                  return 1735;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x10001x00x1xxxxx001xxxxxxxxxxxxx
                                                 prfh.  */
                                              return 1846;
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0101xxxxx0010x0xxxxxxxxxx
                                                                 sqdmlalb.  */
                                                              return 2232;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0111xxxxx0010x0xxxxxxxxxx
                                                                 sqdmlalb.  */
                                                              return 2233;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0101xxxxx0011x0xxxxxxxxxx
                                                                 sqdmlslb.  */
                                                              return 2239;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0111xxxxx0011x0xxxxxxxxxx
                                                                 sqdmlslb.  */
                                                              return 2240;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0101xxxxx0010x1xxxxxxxxxx
                                                                 sqdmlalt.  */
                                                              return 2236;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0111xxxxx0010x1xxxxxxxxxx
                                                                 sqdmlalt.  */
                                                              return 2237;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0101xxxxx0011x1xxxxxxxxxx
                                                                 sqdmlslt.  */
                                                              return 2243;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0111xxxxx0011x1xxxxxxxxxx
                                                                 sqdmlslt.  */
                                                              return 2244;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x01x1xxxxx001xxxxxxxxxxxxx
                                                     ldff1sh.  */
                                                  return 1741;
                                                }
                                            }
                                        }
                                    }
                                }
                              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
                                                                 000001x0xx0x0000101xxxxxxxxxxxxx
                                                                 sxtb.  */
                                                              return 2018;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x1000101xxxxxxxxxxxxx
                                                                 cls.  */
                                                              return 1380;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x0100101xxxxxxxxxxxxx
                                                                 sxtw.  */
                                                              return 2020;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x1100101xxxxxxxxxxxxx
                                                                 fabs.  */
                                                              return 1442;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x0010101xxxxxxxxxxxxx
                                                                 sxth.  */
                                                              return 2019;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x1010101xxxxxxxxxxxxx
                                                                 cnt.  */
                                                              return 1409;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x0110101xxxxxxxxxxxxx
                                                                 abs.  */
                                                              return 1338;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x1110101xxxxxxxxxxxxx
                                                                 not.  */
                                                              return 1817;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x0001101xxxxxxxxxxxxx
                                                                 uxtb.  */
                                                              return 2081;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x1001101xxxxxxxxxxxxx
                                                                 clz.  */
                                                              return 1381;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x0101101xxxxxxxxxxxxx
                                                                 uxtw.  */
                                                              return 2083;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x1101101xxxxxxxxxxxxx
                                                                 fneg.  */
                                                              return 1519;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x0011101xxxxxxxxxxxxx
                                                                 uxth.  */
                                                              return 2082;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x0xx0x1011101xxxxxxxxxxxxx
                                                                 cnot.  */
                                                              return 1408;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx0xx111101xxxxxxxxxxxxx
                                                             neg.  */
                                                          return 1814;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0001xxxxx1010xxxxxxxxxxxx
                                                             adr.  */
                                                          return 1344;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0011xxxxx1010xxxxxxxxxxxx
                                                             adr.  */
                                                          return 1345;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         000001x01x1xxxxx1010xxxxxxxxxxxx
                                                         adr.  */
                                                      return 1346;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx101100xxxxxxxxxx
                                                             ftssel.  */
                                                          return 1545;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx101110xxxxxxxxxx
                                                             fexpa.  */
                                                          return 1489;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         000001x0xx1xxxxx1011x1xxxxxxxxxx
                                                         movprfx.  */
                                                      return 1807;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x0000xxxxx101xxxxxxxxxxxxx
                                                         ldnt1b.  */
                                                      return 2156;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x0100xxxxx101xxxxxxxxxxxxx
                                                         ldnt1h.  */
                                                      return 2159;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x0001xxxxx101xxxxxxxxxxxxx
                                                         ldff1sb.  */
                                                      return 1732;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x0101xxxxx101xxxxxxxxxxxxx
                                                         ldff1sh.  */
                                                      return 1744;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x001xxxxxx101xxxxxxxxxxxxx
                                                     ld1rb.  */
                                                  return 1600;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x011xxxxxx101xxxxxxxxxxxxx
                                                     ld1rh.  */
                                                  return 1604;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0xx0x0000101xxxxxxxxxxxxx
                                                                 urecpe.  */
                                                              return 2367;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0xx0x1000101xxxxxxxxxxxxx
                                                                 sqabs.  */
                                                              return 2229;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0xx00x100101xxxxxxxxxxxxx
                                                                 sadalp.  */
                                                              return 2193;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0xx01x100101xxxxxxxxxxxxx
                                                                 smaxp.  */
                                                              return 2207;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x0xx0xxx10101xxxxxxxxxxxxx
                                                         sminp.  */
                                                      return 2208;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0xx000001101xxxxxxxxxxxxx
                                                                     ursqrte.  */
                                                                  return 2372;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0xx010001101xxxxxxxxxxxxx
                                                                     addp.  */
                                                                  return 2118;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0xx0x1001101xxxxxxxxxxxxx
                                                                 sqneg.  */
                                                              return 2256;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0xx00x101101xxxxxxxxxxxxx
                                                                 uadalp.  */
                                                              return 2324;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0xx01x101101xxxxxxxxxxxxx
                                                                 umaxp.  */
                                                              return 2332;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x0xx0xxx11101xxxxxxxxxxxxx
                                                         uminp.  */
                                                      return 2333;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x0x00xxxxx101xxxxxxxxxxxxx
                                                     ld1q.  */
                                                  return 3354;
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0010xxxxx101xxxxxxxxxxxxx
                                                         ldff1sb.  */
                                                      return 1731;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0110xxxxx101xxxxxxxxxxxxx
                                                         ldff1sh.  */
                                                      return 1742;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10001x0001xxxxx101xxxxxxxxxxxxx
                                                     ldff1sb.  */
                                                  return 1733;
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0101xxxxx1010x0xxxxxxxxxx
                                                                 smlslb.  */
                                                              return 2215;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0101xxxxx1011x0xxxxxxxxxx
                                                                 umlslb.  */
                                                              return 2340;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0101xxxxx1010x1xxxxxxxxxx
                                                                 smlslt.  */
                                                              return 2218;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0101xxxxx1011x1xxxxxxxxxx
                                                                 umlslt.  */
                                                              return 2343;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0101xxxxx101xxxxxxxxxxxxx
                                                         ldff1sh.  */
                                                      return 1745;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10001x0011xxxxx101xxxxxxxxxxxxx
                                                     prfh.  */
                                                  return 1847;
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0111xxxxx1010x0xxxxxxxxxx
                                                                 smlslb.  */
                                                              return 2216;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0111xxxxx1011x0xxxxxxxxxx
                                                                 umlslb.  */
                                                              return 2341;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0111xxxxx1010x1xxxxxxxxxx
                                                                 smlslt.  */
                                                              return 2219;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0111xxxxx1011x1xxxxxxxxxx
                                                                 umlslt.  */
                                                              return 2344;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0111xxxxx101xxxxxxxxxxxxx
                                                         ldff1sh.  */
                                                      return 1743;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 15) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 000001x0xx0xxxxx011xxxxxxxxxxxxx
                                                 mls.  */
                                              return 1806;
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x00x0xxxxx011xxxxxxxxxxxxx
                                                     ldff1b.  */
                                                  return 1689;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x01x0xxxxx011xxxxxxxxxxxxx
                                                     ldff1h.  */
                                                  return 1709;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx011000xxxxxxxxxx
                                                             sqdmlalb.  */
                                                          return 2234;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx011100xxxxxxxxxx
                                                             sqrdmlah.  */
                                                          return 2263;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx011010xxxxxxxxxx
                                                             sqdmlslb.  */
                                                          return 2241;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx011110xxxxxxxxxx
                                                             usdot.  */
                                                          return 3040;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx011001xxxxxxxxxx
                                                             sqdmlalt.  */
                                                          return 2238;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx011101xxxxxxxxxx
                                                             sqrdmlsh.  */
                                                          return 2267;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x0xx0xxxxx011x11xxxxxxxxxx
                                                         sqdmlslt.  */
                                                      return 2245;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x00x0xxxxx011xxxxxxxxxxxxx
                                                     ldff1b.  */
                                                  return 1698;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x01x0xxxxx011xxxxxxxxxxxxx
                                                     ldff1h.  */
                                                  return 1717;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx011000xxxxxxxxxx
                                                             mul.  */
                                                          return 2176;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx011100xxxxxxxxxx
                                                             sqdmulh.  */
                                                          return 2249;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         000001x0xx1xxxxx011x10xxxxxxxxxx
                                                         smulh.  */
                                                      return 2221;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx011001xxxxxxxxxx
                                                             pmul.  */
                                                          return 2179;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x0xx1xxxxx011101xxxxxxxxxx
                                                             sqrdmulh.  */
                                                          return 2271;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         000001x0xx1xxxxx011x11xxxxxxxxxx
                                                         umulh.  */
                                                      return 2346;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x00x1xxxxx011xxxxxxxxxxxxx
                                                     prfd.  */
                                                  return 1837;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x01x1xxxxx011xxxxxxxxxxxxx
                                                     ldff1h.  */
                                                  return 1710;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x10001x00x1xxxxx011xxxxxxxxxxxxx
                                                 prfd.  */
                                              return 1839;
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0101xxxxx0110xxxxxxxxxxxx
                                                             cmla.  */
                                                          return 2128;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0111xxxxx0110xxxxxxxxxxxx
                                                             cmla.  */
                                                          return 2129;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0101xxxxx0111xxxxxxxxxxxx
                                                             sqrdcmlah.  */
                                                          return 2257;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0111xxxxx0111xxxxxxxxxxxx
                                                             sqrdcmlah.  */
                                                          return 2258;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x01x1xxxxx011xxxxxxxxxxxxx
                                                     ldff1h.  */
                                                  return 1718;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 30) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 21) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 000001x0xx0xxxxx111xxxxxxxxxxxxx
                                                 msb.  */
                                              return 1809;
                                            }
                                          else
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x00010xxxx111000xxxxxxxxxx
                                                                         cntb.  */
                                                                      return 1410;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x01010xxxx111000xxxxxxxxxx
                                                                         cntw.  */
                                                                      return 1414;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x00110xxxx111000xxxxxxxxxx
                                                                         cnth.  */
                                                                      return 1412;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x01110xxxx111000xxxxxxxxxx
                                                                         cntd.  */
                                                                      return 1411;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x00011xxxx111000xxxxxxxxxx
                                                                         incb.  */
                                                                      return 1546;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x01011xxxx111000xxxxxxxxxx
                                                                         incw.  */
                                                                      return 1554;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x00111xxxx111000xxxxxxxxxx
                                                                         inch.  */
                                                                      return 1550;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x01111xxxx111000xxxxxxxxxx
                                                                         incd.  */
                                                                      return 1548;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x00010xxxx111100xxxxxxxxxx
                                                                         sqincb.  */
                                                                      return 1915;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x01010xxxx111100xxxxxxxxxx
                                                                         sqincw.  */
                                                                      return 1927;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x00110xxxx111100xxxxxxxxxx
                                                                         sqinch.  */
                                                                      return 1921;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x01110xxxx111100xxxxxxxxxx
                                                                         sqincd.  */
                                                                      return 1918;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x00011xxxx111100xxxxxxxxxx
                                                                         sqincb.  */
                                                                      return 1914;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x01011xxxx111100xxxxxxxxxx
                                                                         sqincw.  */
                                                                      return 1926;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x00111xxxx111100xxxxxxxxxx
                                                                         sqinch.  */
                                                                      return 1920;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x01111xxxx111100xxxxxxxxxx
                                                                         sqincd.  */
                                                                      return 1917;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x00010xxxx111x10xxxxxxxxxx
                                                                     sqdecb.  */
                                                                  return 1901;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x01010xxxx111x10xxxxxxxxxx
                                                                     sqdecw.  */
                                                                  return 1913;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x00110xxxx111x10xxxxxxxxxx
                                                                     sqdech.  */
                                                                  return 1907;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x01110xxxx111x10xxxxxxxxxx
                                                                     sqdecd.  */
                                                                  return 1904;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x00011xxxx111x10xxxxxxxxxx
                                                                     sqdecb.  */
                                                                  return 1900;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x01011xxxx111x10xxxxxxxxxx
                                                                     sqdecw.  */
                                                                  return 1912;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x00111xxxx111x10xxxxxxxxxx
                                                                     sqdech.  */
                                                                  return 1906;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x01111xxxx111x10xxxxxxxxxx
                                                                     sqdecd.  */
                                                                  return 1903;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0001xxxxx111001xxxxxxxxxx
                                                                     decb.  */
                                                                  return 1421;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0101xxxxx111001xxxxxxxxxx
                                                                     decw.  */
                                                                  return 1429;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0011xxxxx111001xxxxxxxxxx
                                                                     dech.  */
                                                                  return 1425;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x0111xxxxx111001xxxxxxxxxx
                                                                     decd.  */
                                                                  return 1423;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x00010xxxx111101xxxxxxxxxx
                                                                         uqincb.  */
                                                                      return 2063;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x01010xxxx111101xxxxxxxxxx
                                                                         uqincw.  */
                                                                      return 2075;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x00110xxxx111101xxxxxxxxxx
                                                                         uqinch.  */
                                                                      return 2069;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x01110xxxx111101xxxxxxxxxx
                                                                         uqincd.  */
                                                                      return 2066;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x00011xxxx111101xxxxxxxxxx
                                                                         uqincb.  */
                                                                      return 2064;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x01011xxxx111101xxxxxxxxxx
                                                                         uqincw.  */
                                                                      return 2076;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x00111xxxx111101xxxxxxxxxx
                                                                         uqinch.  */
                                                                      return 2070;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x01111xxxx111101xxxxxxxxxx
                                                                         uqincd.  */
                                                                      return 2067;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x00010xxxx111x11xxxxxxxxxx
                                                                     uqdecb.  */
                                                                  return 2049;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x01010xxxx111x11xxxxxxxxxx
                                                                     uqdecw.  */
                                                                  return 2061;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x00110xxxx111x11xxxxxxxxxx
                                                                     uqdech.  */
                                                                  return 2055;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x01110xxxx111x11xxxxxxxxxx
                                                                     uqdecd.  */
                                                                  return 2052;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x00011xxxx111x11xxxxxxxxxx
                                                                     uqdecb.  */
                                                                  return 2050;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x01011xxxx111x11xxxxxxxxxx
                                                                     uqdecw.  */
                                                                  return 2062;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x00111xxxx111x11xxxxxxxxxx
                                                                     uqdech.  */
                                                                  return 2056;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x01111xxxx111x11xxxxxxxxxx
                                                                     uqdecd.  */
                                                                  return 2053;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x0000xxxxx111xxxxxxxxxxxxx
                                                         prfb.  */
                                                      return 1834;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x0100xxxxx111xxxxxxxxxxxxx
                                                         prfh.  */
                                                      return 1848;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x0001xxxxx111xxxxxxxxxxxxx
                                                         ldff1b.  */
                                                      return 1700;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x0101xxxxx111xxxxxxxxxxxxx
                                                         ldff1h.  */
                                                      return 1721;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x001xxxxxx111xxxxxxxxxxxxx
                                                     ld1rb.  */
                                                  return 1602;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x011xxxxxx111xxxxxxxxxxxxx
                                                     ld1rh.  */
                                                  return 1606;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x0xx0xxxxx111x00xxxxxxxxxx
                                                         zipq1.  */
                                                      return 3344;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx111010xxxxxxxxxx
                                                             uzpq1.  */
                                                          return 3342;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x0xx0xxxxx111110xxxxxxxxxx
                                                             tblq.  */
                                                          return 3339;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x0xx0xxxxx111x01xxxxxxxxxx
                                                         zipq2.  */
                                                      return 3345;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x0xx0xxxxx111x11xxxxxxxxxx
                                                         uzpq2.  */
                                                      return 3343;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0000xxxxx111xxxxxxxxxxxxx
                                                         prfb.  */
                                                      return 1836;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0100xxxxx111xxxxxxxxxxxxx
                                                         prfh.  */
                                                      return 1850;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0010xxxxx111xxxxxxxxxxxxx
                                                         ldff1b.  */
                                                      return 1699;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0110xxxxx111xxxxxxxxxxxxx
                                                         ldff1h.  */
                                                      return 1719;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x00x1xxxxx111x00xxxxxxxxxx
                                                             sqdmulh.  */
                                                          return 2246;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x00x1xxxxx111x10xxxxxxxxxx
                                                             mul.  */
                                                          return 2173;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x00x1xxxxx111xx1xxxxxxxxxx
                                                         sqrdmulh.  */
                                                      return 2268;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0001xxxxx111xxxxxxxxxxxxx
                                                         ldff1b.  */
                                                      return 1701;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0011xxxxx111xxxxxxxxxxxxx
                                                         prfd.  */
                                                      return 1840;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0101xxxxx1110x0xxxxxxxxxx
                                                                 sqdmullb.  */
                                                              return 2250;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 11) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0101xxxxx111100xxxxxxxxxx
                                                                     sqdmulh.  */
                                                                  return 2247;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0101xxxxx111110xxxxxxxxxx
                                                                     mul.  */
                                                                  return 2174;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0101xxxxx1110x1xxxxxxxxxx
                                                                 sqdmullt.  */
                                                              return 2253;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0101xxxxx1111x1xxxxxxxxxx
                                                                 sqrdmulh.  */
                                                              return 2269;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0101xxxxx111xxxxxxxxxxxxx
                                                         ldff1h.  */
                                                      return 1722;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0111xxxxx1110x0xxxxxxxxxx
                                                                 sqdmullb.  */
                                                              return 2251;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 11) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0111xxxxx111100xxxxxxxxxx
                                                                     sqdmulh.  */
                                                                  return 2248;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x0111xxxxx111110xxxxxxxxxx
                                                                     mul.  */
                                                                  return 2175;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0111xxxxx1110x1xxxxxxxxxx
                                                                 sqdmullt.  */
                                                              return 2254;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x0111xxxxx1111x1xxxxxxxxxx
                                                                 sqrdmulh.  */
                                                              return 2270;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x0111xxxxx111xxxxxxxxxxxxx
                                                         ldff1h.  */
                                                      return 1720;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 21) & 0x1) == 0)
                        {
                          if (((word >> 15) & 0x1) == 0)
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x0xx0xxxxx000xxxxxxxx0xxxx
                                                     cmphs.  */
                                                  return 1394;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x0xx0xxxxx000xxxxxxxx1xxxx
                                                     cmphi.  */
                                                  return 1391;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x00x0xxxxx000xxxxxxxxxxxxx
                                                     ld1rqb.  */
                                                  return 1608;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x01x0xxxxx000xxxxxxxxxxxxx
                                                     ld1rqh.  */
                                                  return 1612;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x0xx0xxxxx010xxxxxxxx0xxxx
                                                     cmpge.  */
                                                  return 1385;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x0xx0xxxxx010xxxxxxxx1xxxx
                                                     cmpgt.  */
                                                  return 1388;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0000xxxxx010xxxxxxxxxxxxx
                                                         ld1b.  */
                                                      return 1566;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0100xxxxx010xxxxxxxxxxxxx
                                                         ld1sw.  */
                                                      return 1646;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0010xxxxx010xxxxxxxxxxxxx
                                                         ld1b.  */
                                                      return 1568;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0110xxxxx010xxxxxxxxxxxxx
                                                         ld1h.  */
                                                      return 1588;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x0xx0xxxxx001xxxxxxxx0xxxx
                                                     cmpeq.  */
                                                  return 1382;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x0xx0xxxxx001xxxxxxxx1xxxx
                                                     cmpne.  */
                                                  return 1405;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x00x0xxxxx001xxxxxxxxxxxxx
                                                     ld1rqb.  */
                                                  return 1607;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x01x0xxxxx001xxxxxxxxxxxxx
                                                     ld1rqh.  */
                                                  return 1611;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x0xx0xxxxx011xxxxxxxx0xxxx
                                                     cmplt.  */
                                                  return 1403;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x0xx0xxxxx011xxxxxxxx1xxxx
                                                     cmple.  */
                                                  return 1397;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0000xxxxx011xxxxxxxxxxxxx
                                                         ldff1b.  */
                                                      return 1690;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0100xxxxx011xxxxxxxxxxxxx
                                                         ldff1sw.  */
                                                      return 1746;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0010xxxxx011xxxxxxxxxxxxx
                                                         ldff1b.  */
                                                      return 1694;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0110xxxxx011xxxxxxxxxxxxx
                                                         ldff1h.  */
                                                      return 1713;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 31) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         011001x0xx0xxxxx0xxxxxxxxxxxxxxx
                                         fcmla.  */
                                      return 1451;
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x0x00xxxxx000xxxxxxxxxxxxx
                                                     st3q.  */
                                                  return 3363;
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0010xxxxx000xxxxxxxxxxxxx
                                                         st2q.  */
                                                      return 3362;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0110xxxxx000xxxxxxxxxxxxx
                                                         st4q.  */
                                                      return 3364;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x0x00xxxxx010xxxxxxxxxxxxx
                                                     st1b.  */
                                                  return 1930;
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0010xxxxx010xxxxxxxxxxxxx
                                                         st1b.  */
                                                      return 1934;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0110xxxxx010xxxxxxxxxxxxx
                                                         st1h.  */
                                                      return 1955;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0000xxxxx001xxxxxxxxxxxxx
                                                         stnt1b.  */
                                                      return 2308;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0100xxxxx001xxxxxxxxxxxxx
                                                         stnt1h.  */
                                                      return 2311;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0010xxxxx001xxxxxxxxxxxxx
                                                         stnt1b.  */
                                                      return 2307;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0110xxxxx001xxxxxxxxxxxxx
                                                         stnt1h.  */
                                                      return 2310;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0000xxxxx011xxxxxxxxxxxxx
                                                         stnt1b.  */
                                                      return 2000;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0100xxxxx011xxxxxxxxxxxxx
                                                         stnt1h.  */
                                                      return 2004;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0010xxxxx011xxxxxxxxxxxxx
                                                         st3b.  */
                                                      return 1984;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0110xxxxx011xxxxxxxxxxxxx
                                                         st3h.  */
                                                      return 1988;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 13) & 0x1) == 0)
                                {
                                  if (((word >> 30) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 4) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x01001x0xx0xxxxx100xxxxxxxx0xxxx
                                                 cmpge.  */
                                              return 1386;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x01001x0xx0xxxxx100xxxxxxxx1xxxx
                                                 cmpgt.  */
                                              return 1389;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x0xx0xxxxx110xxxxxxxx0xxxx
                                                     cmphs.  */
                                                  return 1395;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x0xx0xxxxx110xxxxxxxx1xxxx
                                                     cmphi.  */
                                                  return 1392;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0000xxxxx110xxxxxxxxxxxxx
                                                         ldnt1b.  */
                                                      return 1781;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0100xxxxx110xxxxxxxxxxxxx
                                                         ldnt1h.  */
                                                      return 1785;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0010xxxxx110xxxxxxxxxxxxx
                                                         ld3b.  */
                                                      return 1673;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0110xxxxx110xxxxxxxxxxxxx
                                                         ld3h.  */
                                                      return 1677;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 17) & 0x1) == 0)
                                            {
                                              if (((word >> 18) & 0x1) == 0)
                                                {
                                                  if (((word >> 20) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         011001x0xx00x00x1x0xxxxxxxxxxxxx
                                                         fcadd.  */
                                                      return 1450;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         011001x0xx01x00x1x0xxxxxxxxxxxxx
                                                         faddp.  */
                                                      return 2134;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         011001x0xx0xx1001x0xxxxxxxxxxxxx
                                                         fmaxnmp.  */
                                                      return 2142;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         011001x0xx0xx1011x0xxxxxxxxxxxxx
                                                         fminnmp.  */
                                                      return 2144;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     011001x0xx0xxx101x0xxxxxxxxxxxxx
                                                     fmaxp.  */
                                                  return 2143;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     011001x0xx0xxx111x0xxxxxxxxxxxxx
                                                     fminp.  */
                                                  return 2145;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x0000xxxxx1x0xxxxxxxxxxxxx
                                                     st1b.  */
                                                  return 1931;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x0100xxxxx1x0xxxxxxxxxxxxx
                                                     st1h.  */
                                                  return 1950;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x0010xxxxx1x0xxxxxxxxxxxxx
                                                     st1b.  */
                                                  return 1935;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x0110xxxxx1x0xxxxxxxxxxxxx
                                                     st1h.  */
                                                  return 1956;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 14) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x0xx0xxxxx101xxxxxxxx0xxxx
                                                     cmpeq.  */
                                                  return 1383;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x0xx0xxxxx101xxxxxxxx1xxxx
                                                     cmpne.  */
                                                  return 1406;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x00000xxxx101xxxxxxxxxxxxx
                                                             ld1b.  */
                                                          return 1573;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x01000xxxx101xxxxxxxxxxxxx
                                                             ld1sw.  */
                                                          return 1651;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x00100xxxx101xxxxxxxxxxxxx
                                                             ld1b.  */
                                                          return 1575;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x01100xxxx101xxxxxxxxxxxxx
                                                             ld1h.  */
                                                          return 1596;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x00001xxxx101xxxxxxxxxxxxx
                                                             ldnf1b.  */
                                                          return 1765;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x01001xxxx101xxxxxxxxxxxxx
                                                             ldnf1sw.  */
                                                          return 1778;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x00101xxxx101xxxxxxxxxxxxx
                                                             ldnf1b.  */
                                                          return 1767;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x01101xxxx101xxxxxxxxxxxxx
                                                             ldnf1h.  */
                                                          return 1771;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      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)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x0xx0x0000101xxxxxxxxxxxxx
                                                                 faddqv.  */
                                                              return 3332;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x0xx0x1000101xxxxxxxxxxxxx
                                                                 fcvtnt.  */
                                                              return 2137;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0xx0xx100101xxxxxxxxxxxxx
                                                             fmaxnmqv.  */
                                                          return 3333;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x0000xx010101xxxxxxxxxxxxx
                                                                     fcvtxnt.  */
                                                                  return 2140;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x0100xx010101xxxxxxxxxxxxx
                                                                     bfcvtnt.  */
                                                                  return 3069;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x0x10xx010101xxxxxxxxxxxxx
                                                                 fcvtnt.  */
                                                              return 2138;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0xx0xx110101xxxxxxxxxxxxx
                                                             fmaxqv.  */
                                                          return 3334;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0xx0xx001101xxxxxxxxxxxxx
                                                             fcvtlt.  */
                                                          return 2135;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0xx0xx101101xxxxxxxxxxxxx
                                                             fminnmqv.  */
                                                          return 3335;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0xx0xx011101xxxxxxxxxxxxx
                                                             fcvtlt.  */
                                                          return 2136;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0xx0xx111101xxxxxxxxxxxxx
                                                             fminqv.  */
                                                          return 3336;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0000xxxxx101xxxxxxxxxxxxx
                                                         st1b.  */
                                                      return 1932;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0100xxxxx101xxxxxxxxxxxxx
                                                         st1h.  */
                                                      return 1951;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0010xxxxx101xxxxxxxxxxxxx
                                                         st1b.  */
                                                      return 1939;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0110xxxxx101xxxxxxxxxxxxx
                                                         st1h.  */
                                                      return 1960;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x0xx0xxxxx111xxxxxxxx0xxxx
                                                     cmplo.  */
                                                  return 1399;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x0xx0xxxxx111xxxxxxxx1xxxx
                                                     cmpls.  */
                                                  return 1401;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x00000xxxx111xxxxxxxxxxxxx
                                                             ldnt1b.  */
                                                          return 1782;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x01000xxxx111xxxxxxxxxxxxx
                                                             ldnt1h.  */
                                                          return 1786;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x00100xxxx111xxxxxxxxxxxxx
                                                             ld3b.  */
                                                          return 1674;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x01100xxxx111xxxxxxxxxxxxx
                                                             ld3h.  */
                                                          return 1678;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x0xx01xxxx111xxxxxxxxxxxxx
                                                     ld2q.  */
                                                  return 3355;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 20) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x11001x0x000xxxx111xxxxxxxxxxxxx
                                                     st1b.  */
                                                  return 1937;
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x11001x00100xxxx111xxxxxxxxxxxxx
                                                         st1b.  */
                                                      return 1940;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x11001x01100xxxx111xxxxxxxxxxxxx
                                                         st1h.  */
                                                      return 1961;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x11001x00001xxxx111xxxxxxxxxxxxx
                                                         stnt1b.  */
                                                      return 2001;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x11001x01001xxxx111xxxxxxxxxxxxx
                                                         stnt1h.  */
                                                      return 2005;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x11001x00101xxxx111xxxxxxxxxxxxx
                                                         st3b.  */
                                                      return 1985;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x11001x01101xxxx111xxxxxxxxxxxxx
                                                         st3h.  */
                                                      return 1989;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 13) & 0x1) == 0)
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 31) & 0x1) == 0)
                                    {
                                      if (((word >> 4) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             001001x0xx1xxxxxxx0xxxxxxxx0xxxx
                                             cmphs.  */
                                          return 1396;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             001001x0xx1xxxxxxx0xxxxxxxx1xxxx
                                             cmphi.  */
                                          return 1393;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x00x1xxxxx000xxxxxxxxxxxxx
                                                     ld1rob.  */
                                                  return 3045;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x01x1xxxxx000xxxxxxxxxxxxx
                                                     ld1roh.  */
                                                  return 3046;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 101001x0xx1xxxxx100xxxxxxxxxxxxx
                                                 ld2q.  */
                                              return 3358;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0001xxxxx010xxxxxxxxxxxxx
                                                         ld1b.  */
                                                      return 1567;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0101xxxxx010xxxxxxxxxxxxx
                                                         ld1h.  */
                                                      return 1587;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0011xxxxx010xxxxxxxxxxxxx
                                                         ld1b.  */
                                                      return 1569;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0111xxxxx010xxxxxxxxxxxxx
                                                         ld1h.  */
                                                      return 1589;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0001xxxxx110xxxxxxxxxxxxx
                                                         ld2b.  */
                                                      return 1665;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0101xxxxx110xxxxxxxxxxxxx
                                                         ld2h.  */
                                                      return 1669;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0011xxxxx110xxxxxxxxxxxxx
                                                         ld4b.  */
                                                      return 1681;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0111xxxxx110xxxxxxxxxxxxx
                                                         ld4h.  */
                                                      return 1685;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 15) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x00x1xxxxx000x00xxxxxxxxxx
                                                             fmla.  */
                                                          return 1504;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x00x1xxxxx000x10xxxxxxxxxx
                                                             bfmla.  */
                                                          return 3292;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x00x1xxxxx000x01xxxxxxxxxx
                                                             fmls.  */
                                                          return 1508;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x00x1xxxxx000x11xxxxxxxxxx
                                                             bfmls.  */
                                                          return 3293;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x00x1xxxxx000xxxxxxxxxxxxx
                                                     st2q.  */
                                                  return 3365;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 10) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x0101xxxxx0000x0xxxxxxxxxx
                                                                 fmla.  */
                                                              return 1505;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x0101xxxxx0000x1xxxxxxxxxx
                                                                 fmls.  */
                                                              return 1509;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0101xxxxx0001xxxxxxxxxxxx
                                                             fcmla.  */
                                                          return 1452;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0101xxxxx000xxxxxxxxxxxxx
                                                         st3q.  */
                                                      return 3366;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 10) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x0111xxxxx0000x0xxxxxxxxxx
                                                                 fmla.  */
                                                              return 1506;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x0111xxxxx0000x1xxxxxxxxxx
                                                                 fmls.  */
                                                              return 1510;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0111xxxxx0001xxxxxxxxxxxx
                                                             fcmla.  */
                                                          return 1453;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0111xxxxx000xxxxxxxxxxxxx
                                                         st4q.  */
                                                      return 3367;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 10) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x0001xxxxx0100x0xxxxxxxxxx
                                                                 fdot.  */
                                                              return 2473;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x0001xxxxx0100x1xxxxxxxxxx
                                                                 fdot.  */
                                                              return 3454;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0001xxxxx0101xxxxxxxxxxxx
                                                             fmlalb.  */
                                                          return 3456;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0001xxxxx010xxxxxxxxxxxxx
                                                         st1b.  */
                                                      return 1933;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 10) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x0101xxxxx0100x0xxxxxxxxxx
                                                                 fmlalb.  */
                                                              return 2146;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x0101xxxxx0100x1xxxxxxxxxx
                                                                 fmlalt.  */
                                                              return 2148;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0101xxxxx0101xxxxxxxxxxxx
                                                             fmlalt.  */
                                                          return 3466;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0101xxxxx010xxxxxxxxxxxxx
                                                         st1h.  */
                                                      return 1952;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0011xxxxx010xx0xxxxxxxxxx
                                                             bfdot.  */
                                                          return 3066;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0011xxxxx010xx1xxxxxxxxxx
                                                             fdot.  */
                                                          return 3452;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0011xxxxx010xxxxxxxxxxxxx
                                                         st1b.  */
                                                      return 1936;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0111xxxxx010xx0xxxxxxxxxx
                                                             bfmlalb.  */
                                                          return 3073;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0111xxxxx010xx1xxxxxxxxxx
                                                             bfmlalt.  */
                                                          return 3072;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0111xxxxx010xxxxxxxxxxxxx
                                                         st1h.  */
                                                      return 1957;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 22) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          if (((word >> 11) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x11001x0001xxxxx100000xxxxxxxxxx
                                                                 fdot.  */
                                                              return 2474;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x11001x0001xxxxx100010xxxxxxxxxx
                                                                 fmlallbb.  */
                                                              return 3457;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x11001x0001xxxxx1000x1xxxxxxxxxx
                                                             fdot.  */
                                                          return 3453;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x11001x0001xxxxx1100xxxxxxxxxxxx
                                                         fmlallbb.  */
                                                      return 3458;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x11001x0001xxxxx1x01xxxxxxxxxxxx
                                                     fmlallbt.  */
                                                  return 3459;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          if (((word >> 10) & 0x1) == 0)
                                                            {
                                                              if (((word >> 11) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x0101xxxxx100000xxxxxxxxxx
                                                                     fmlalb.  */
                                                                  return 2147;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x0101xxxxx100010xxxxxxxxxx
                                                                     fmlalb.  */
                                                                  return 3455;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x0101xxxxx1000x1xxxxxxxxxx
                                                                 fmlalt.  */
                                                              return 2149;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0101xxxxx1100xxxxxxxxxxxx
                                                             fmlalltb.  */
                                                          return 3462;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         011001x0101xxxxx1x01xxxxxxxxxxxx
                                                         fmlalt.  */
                                                      return 3465;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x0101xxxxx1x0xxxxxxxxxxxxx
                                                     st1h.  */
                                                  return 1953;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x11001x0011xxxxx100xx0xxxxxxxxxx
                                                         bfdot.  */
                                                      return 3065;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x11001x0011xxxxx100xx1xxxxxxxxxx
                                                         fdot.  */
                                                      return 3451;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x11001x0011xxxxx110xxxxxxxxxxxxx
                                                     fmlallbt.  */
                                                  return 3460;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0111xxxxx100xx0xxxxxxxxxx
                                                             bfmlalb.  */
                                                          return 3071;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0111xxxxx100xx1xxxxxxxxxx
                                                             bfmlalt.  */
                                                          return 3070;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         011001x0111xxxxx110xxxxxxxxxxxxx
                                                         fmlalltt.  */
                                                      return 3464;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x0111xxxxx1x0xxxxxxxxxxxxx
                                                     st1h.  */
                                                  return 1958;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 31) & 0x1) == 0)
                                    {
                                      if (((word >> 4) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             001001x0xx1xxxxxxx1xxxxxxxx0xxxx
                                             cmplo.  */
                                          return 1400;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             001001x0xx1xxxxxxx1xxxxxxxx1xxxx
                                             cmpls.  */
                                          return 1402;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x00x1xxxxx001xxxxxxxxxxxxx
                                                     ld1rob.  */
                                                  return 3049;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x01x1xxxxx001xxxxxxxxxxxxx
                                                     ld1roh.  */
                                                  return 3050;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x00010xxxx101xxxxxxxxxxxxx
                                                             ld1b.  */
                                                          return 1574;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x01010xxxx101xxxxxxxxxxxxx
                                                             ld1h.  */
                                                          return 1595;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x00110xxxx101xxxxxxxxxxxxx
                                                             ld1b.  */
                                                          return 1576;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x01110xxxx101xxxxxxxxxxxxx
                                                             ld1h.  */
                                                          return 1597;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x00011xxxx101xxxxxxxxxxxxx
                                                             ldnf1b.  */
                                                          return 1766;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x01011xxxx101xxxxxxxxxxxxx
                                                             ldnf1h.  */
                                                          return 1770;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x00111xxxx101xxxxxxxxxxxxx
                                                             ldnf1b.  */
                                                          return 1768;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x01111xxxx101xxxxxxxxxxxxx
                                                             ldnf1h.  */
                                                          return 1772;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0001xxxxx011xxxxxxxxxxxxx
                                                         ldff1b.  */
                                                      return 1692;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0101xxxxx011xxxxxxxxxxxxx
                                                         ldff1h.  */
                                                      return 1711;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0011xxxxx011xxxxxxxxxxxxx
                                                         ldff1b.  */
                                                      return 1696;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0111xxxxx011xxxxxxxxxxxxx
                                                         ldff1h.  */
                                                      return 1715;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0001xxxxx111xxxxxxxxxxxxx
                                                         ld2b.  */
                                                      return 1666;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0101xxxxx111xxxxxxxxxxxxx
                                                         ld2h.  */
                                                      return 1670;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0011xxxxx111xxxxxxxxxxxxx
                                                         ld4b.  */
                                                      return 1682;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x0111xxxxx111xxxxxxxxxxxxx
                                                         ld4h.  */
                                                      return 1686;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 14) & 0x1) == 0)
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x00x1xxxxx001x00xxxxxxxxxx
                                                             fmul.  */
                                                          return 1515;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x0101xxxxx001x00xxxxxxxxxx
                                                                 fmul.  */
                                                              return 1516;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x0111xxxxx001x00xxxxxxxxxx
                                                                 fmul.  */
                                                              return 1517;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         011001x0xx1xxxxx001x10xxxxxxxxxx
                                                         bfmul.  */
                                                      return 3297;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     011001x0xx1xxxxx001xx1xxxxxxxxxx
                                                     fclamp.  */
                                                  return 2475;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 111001x0xx1xxxxx001xxxxxxxxxxxxx
                                                 st1q.  */
                                              return 3361;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x11001x0001xxxxx1010xxxxxxxxxxxx
                                                         fmlalltb.  */
                                                      return 3461;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x11001x0001xxxxx1011xxxxxxxxxxxx
                                                         fmlalltt.  */
                                                      return 3463;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0101xxxxx101xx0xxxxxxxxxx
                                                             fmlslb.  */
                                                          return 2151;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0101xxxxx101xx1xxxxxxxxxx
                                                             fmlslt.  */
                                                          return 2153;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0101xxxxx101xxxxxxxxxxxxx
                                                         st1h.  */
                                                      return 1954;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x11001x0011xxxxx101xxxxxxxxxxxxx
                                                     st1b.  */
                                                  return 1941;
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0111xxxxx101xx0xxxxxxxxxx
                                                             bfmlslb.  */
                                                          return 2470;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0111xxxxx101xx1xxxxxxxxxx
                                                             bfmlslt.  */
                                                          return 2472;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0111xxxxx101xxxxxxxxxxxxx
                                                         st1h.  */
                                                      return 1962;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x11001x0001xxxxx011xxxxxxxxxxxxx
                                                     st2b.  */
                                                  return 1976;
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0101xxxxx011xx0xxxxxxxxxx
                                                             fmlslb.  */
                                                          return 2150;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0101xxxxx011xx1xxxxxxxxxx
                                                             fmlslt.  */
                                                          return 2152;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0101xxxxx011xxxxxxxxxxxxx
                                                         st2h.  */
                                                      return 1980;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x11001x0011xxxxx011xxxxxxxxxxxxx
                                                     st4b.  */
                                                  return 1992;
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0111xxxxx011xx0xxxxxxxxxx
                                                             bfmlslb.  */
                                                          return 2469;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x0111xxxxx011xx1xxxxxxxxxx
                                                             bfmlslt.  */
                                                          return 2471;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x0111xxxxx011xxxxxxxxxxxxx
                                                         st4h.  */
                                                      return 1996;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  if (((word >> 20) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x11001x00010xxxx111xxxxxxxxxxxxx
                                                         st1b.  */
                                                      return 1938;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x11001x00011xxxx111xxxxxxxxxxxxx
                                                         st2b.  */
                                                      return 1977;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         011001x0101xxxxx111xxxxxxxxxxxxx
                                                         fmmla.  */
                                                      return 3043;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             111001x01010xxxx111xxxxxxxxxxxxx
                                                             st1h.  */
                                                          return 1959;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             111001x01011xxxx111xxxxxxxxxxxxx
                                                             st2h.  */
                                                          return 1981;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         011001x0011xxxxx111xxxxxxxxxxxxx
                                                         bfmmla.  */
                                                      return 3067;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             111001x00110xxxx111xxxxxxxxxxxxx
                                                             st1b.  */
                                                          return 1942;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             111001x00111xxxx111xxxxxxxxxxxxx
                                                             st4b.  */
                                                          return 1993;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         011001x0111xxxxx111xxxxxxxxxxxxx
                                                         fmmla.  */
                                                      return 3044;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             111001x01110xxxx111xxxxxxxxxxxxx
                                                             st1h.  */
                                                          return 1963;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             111001x01111xxxx111xxxxxxxxxxxxx
                                                             st4h.  */
                                                          return 1997;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
              else
                {
                  if (((word >> 29) & 0x1) == 0)
                    {
                      if (((word >> 30) & 0x1) == 0)
                        {
                          if (((word >> 31) & 0x1) == 0)
                            {
                              if (((word >> 21) & 0x1) == 0)
                                {
                                  if (((word >> 20) & 0x1) == 0)
                                    {
                                      if (((word >> 22) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 000001x10000xxxxxxxxxxxxxxxxxxxx
                                                 orr.  */
                                              return 1821;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 000001x11000xxxxxxxxxxxxxxxxxxxx
                                                 and.  */
                                              return 1348;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 000001x10100xxxxxxxxxxxxxxxxxxxx
                                                 eor.  */
                                              return 1435;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 000001x11100xxxxxxxxxxxxxxxxxxxx
                                                 dupm.  */
                                              return 1433;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             000001x1xx01xxxx0xxxxxxxxxxxxxxx
                                             cpy.  */
                                          return 1418;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             000001x1xx01xxxx1xxxxxxxxxxxxxxx
                                             fcpy.  */
                                          return 1465;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 14) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         000001x1001xxxxx000xxxxxxxxxxxxx
                                                         ext.  */
                                                      return 1440;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          if (((word >> 11) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1101xxxxx000x00xxxxxxxxxx
                                                                 zip1.  */
                                                              return 3053;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 12) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x1101xxxxx000010xxxxxxxxxx
                                                                     uzp1.  */
                                                                  return 3055;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x1101xxxxx000110xxxxxxxxxx
                                                                     trn1.  */
                                                                  return 3057;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 11) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1101xxxxx000x01xxxxxxxxxx
                                                                 zip2.  */
                                                              return 3054;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 12) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x1101xxxxx000011xxxxxxxxxx
                                                                     uzp2.  */
                                                                  return 3056;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x1101xxxxx000111xxxxxxxxxx
                                                                     trn2.  */
                                                                  return 3058;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     000001x1x11xxxxx000xxxxxxxxxxxxx
                                                     ext.  */
                                                  return 2133;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1xx1x0000100xxxxxxxxxxxxx
                                                                 cpy.  */
                                                              return 1416;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1xx1x1000100xxxxxxxxxxxxx
                                                                 clasta.  */
                                                              return 1374;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1xx1x0100100xxxxxxxxxxxxx
                                                                 revb.  */
                                                              return 1870;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1xx1x1100100xxxxxxxxxxxxx
                                                                 splice.  */
                                                              return 1897;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1xx1x0010100xxxxxxxxxxxxx
                                                                 lasta.  */
                                                              return 1562;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1xx1x1010100xxxxxxxxxxxxx
                                                                 clasta.  */
                                                              return 1375;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1xx1x0110100xxxxxxxxxxxxx
                                                                 revw.  */
                                                              return 1872;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1xx1x1110100xxxxxxxxxxxxx
                                                                 revd.  */
                                                              return 2463;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1xx1x0001100xxxxxxxxxxxxx
                                                                 compact.  */
                                                              return 1415;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1xx1x1001100xxxxxxxxxxxxx
                                                                 clastb.  */
                                                              return 1377;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1xx1x0101100xxxxxxxxxxxxx
                                                                 revh.  */
                                                              return 1871;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1xx1x1101100xxxxxxxxxxxxx
                                                                 splice.  */
                                                              return 2228;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1xx1x0011100xxxxxxxxxxxxx
                                                                 lastb.  */
                                                              return 1564;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1xx1x1011100xxxxxxxxxxxxx
                                                                 clastb.  */
                                                              return 1378;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x1xx1xx111100xxxxxxxxxxxxx
                                                             rbit.  */
                                                          return 1863;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x1xx1xxxxx001000xxxxxxxxxx
                                                             dup.  */
                                                          return 1431;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x1xx1xxxxx001100xxxxxxxxxx
                                                             tbl.  */
                                                          return 2021;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x1xx1xxxxx001010xxxxxxxxxx
                                                             tbl.  */
                                                          return 2317;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              if (((word >> 19) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 17) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 18) & 0x1) == 0)
                                                                        {
                                                                          if (((word >> 20) & 0x1) == 0)
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 000001x1xx100000001110xxxxxxxxxx
                                                                                 dup.  */
                                                                              return 1430;
                                                                            }
                                                                          else
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 000001x1xx110000001110xxxxxxxxxx
                                                                                 sunpklo.  */
                                                                              return 2017;
                                                                            }
                                                                        }
                                                                      else
                                                                        {
                                                                          if (((word >> 20) & 0x1) == 0)
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 000001x1xx100100001110xxxxxxxxxx
                                                                                 insr.  */
                                                                              return 1559;
                                                                            }
                                                                          else
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 000001x1xx110100001110xxxxxxxxxx
                                                                                 insr.  */
                                                                              return 1560;
                                                                            }
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x1xx1x0x10001110xxxxxxxxxx
                                                                         uunpklo.  */
                                                                      return 2080;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 20) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 23) & 0x1) == 0)
                                                                        {
                                                                          if (((word >> 22) & 0x1) == 0)
                                                                            {
                                                                              if (((word >> 18) & 0x1) == 0)
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     000001x1001010x0001110xxxxxxxxxx
                                                                                     pmov.  */
                                                                                  return 3346;
                                                                                }
                                                                              else
                                                                                {
                                                                                  /* 33222222222211111111110000000000
                                                                                     10987654321098765432109876543210
                                                                                     000001x1001011x0001110xxxxxxxxxx
                                                                                     pmov.  */
                                                                                  return 3347;
                                                                                }
                                                                            }
                                                                          else
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 000001x101101xx0001110xxxxxxxxxx
                                                                                 pmov.  */
                                                                              return 3348;
                                                                            }
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             000001x11x101xx0001110xxxxxxxxxx
                                                                             pmov.  */
                                                                          return 3349;
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x1xx111xx0001110xxxxxxxxxx
                                                                         rev.  */
                                                                      return 1869;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 19) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 17) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x1xx1x0x01001110xxxxxxxxxx
                                                                         sunpkhi.  */
                                                                      return 2016;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x1xx1x0x11001110xxxxxxxxxx
                                                                         uunpkhi.  */
                                                                      return 2079;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 22) & 0x1) == 0)
                                                                        {
                                                                          if (((word >> 18) & 0x1) == 0)
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 000001x1001x10x1001110xxxxxxxxxx
                                                                                 pmov.  */
                                                                              return 3350;
                                                                            }
                                                                          else
                                                                            {
                                                                              /* 33222222222211111111110000000000
                                                                                 10987654321098765432109876543210
                                                                                 000001x1001x11x1001110xxxxxxxxxx
                                                                                 pmov.  */
                                                                              return 3351;
                                                                            }
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             000001x1011x1xx1001110xxxxxxxxxx
                                                                             pmov.  */
                                                                          return 3352;
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x11x1x1xx1001110xxxxxxxxxx
                                                                         pmov.  */
                                                                      return 3353;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1x01xxxxx001001xxxxxxxxxx
                                                                 dupq.  */
                                                              return 3337;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1x11xxxxx001001xxxxxxxxxx
                                                                 extq.  */
                                                              return 3341;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x1xx1xxxxx001101xxxxxxxxxx
                                                             tbxq.  */
                                                          return 3340;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         000001x1xx1xxxxx001x11xxxxxxxxxx
                                                         tbx.  */
                                                      return 2318;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 19) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x1xx100xx0101xxxxxxxxxxxxx
                                                             lasta.  */
                                                          return 1561;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x1xx110xx0101xxxxxxxxxxxxx
                                                             clasta.  */
                                                          return 1376;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         000001x1xx1x1xx0101xxxxxxxxxxxxx
                                                         cpy.  */
                                                      return 1417;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 20) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         000001x1xx10xxx1101xxxxxxxxxxxxx
                                                         lastb.  */
                                                      return 1563;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         000001x1xx11xxx1101xxxxxxxxxxxxx
                                                         clastb.  */
                                                      return 1379;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          if (((word >> 10) & 0x1) == 0)
                                            {
                                              if (((word >> 11) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      if (((word >> 13) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 000001x1xx10xxxx010000xxxxxxxxxx
                                                                 zip1.  */
                                                              return 2097;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 18) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x1xx11x0x0010000xxxxxxxxxx
                                                                         punpklo.  */
                                                                      return 1862;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000001x1xx11x1x0010000xxxxxxxxxx
                                                                         rev.  */
                                                                      return 1868;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     000001x1xx11xxx1010000xxxxxxxxxx
                                                                     punpkhi.  */
                                                                  return 1861;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x1xx1xxxxx011000xxxxxxxxxx
                                                             zip1.  */
                                                          return 2098;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 13) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x1xx1xxxxx010100xxxxxxxxxx
                                                             trn1.  */
                                                          return 2022;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x1xx1xxxxx011100xxxxxxxxxx
                                                             trn1.  */
                                                          return 2023;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         000001x1xx1xxxxx010x10xxxxxxxxxx
                                                         uzp1.  */
                                                      return 2084;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         000001x1xx1xxxxx011x10xxxxxxxxxx
                                                         uzp1.  */
                                                      return 2085;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 11) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      if (((word >> 13) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x1xx1xxxxx010001xxxxxxxxxx
                                                             zip2.  */
                                                          return 2099;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x1xx1xxxxx011001xxxxxxxxxx
                                                             zip2.  */
                                                          return 2100;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 13) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x1xx1xxxxx010101xxxxxxxxxx
                                                             trn2.  */
                                                          return 2024;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             000001x1xx1xxxxx011101xxxxxxxxxx
                                                             trn2.  */
                                                          return 2025;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         000001x1xx1xxxxx010x11xxxxxxxxxx
                                                         uzp2.  */
                                                      return 2086;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         000001x1xx1xxxxx011x11xxxxxxxxxx
                                                         uzp2.  */
                                                      return 2087;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             000001x1xx1xxxxx11xxxxxxxxxxxxxx
                                             sel.  */
                                          return 1887;
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 13) & 0x1) == 0)
                                {
                                  if (((word >> 14) & 0x1) == 0)
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 100001x1x0xxxxxx000xxxxxxxxxxxxx
                                                 ldr.  */
                                              return 1789;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 100001x1x1xxxxxx000xxxxxxxxxxxxx
                                                 prfb.  */
                                              return 1835;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 100001x10xxxxxxx100xxxxxxxxxxxxx
                                                 ld1rsh.  */
                                              return 1618;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 100001x11xxxxxxx100xxxxxxxxxxxxx
                                                 ld1rsb.  */
                                              return 1615;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x10x0xxxxx010xxxxxxxxxxxxx
                                                     ld1w.  */
                                                  return 1653;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x10x1xxxxx010xxxxxxxxxxxxx
                                                     ld1w.  */
                                                  return 1654;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x110xxxxxx010xxxxxxxxxxxxx
                                                     ldr.  */
                                                  return 1791;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x111xxxxxx010xxxxxxxxxxxxx
                                                     prfw.  */
                                                  return 1856;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x1000xxxxx110xxxxxxxxxxxxx
                                                         prfw.  */
                                                      return 1852;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x1100xxxxx110xxxxxxxxxxxxx
                                                         prfd.  */
                                                      return 1838;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x1x01xxxxx110xxxxxxxxxxxxx
                                                     ld1w.  */
                                                  return 1661;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x101xxxxxx110xxxxxxxxxxxxx
                                                     ld1rw.  */
                                                  return 1621;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x111xxxxxx110xxxxxxxxxxxxx
                                                     ld1rsb.  */
                                                  return 1617;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 14) & 0x1) == 0)
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             100001x1xxxxxxxx001xxxxxxxxxxxxx
                                             prfh.  */
                                          return 1849;
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 100001x1x0xxxxxx101xxxxxxxxxxxxx
                                                 ldnt1w.  */
                                              return 2164;
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x101xxxxxx101xxxxxxxxxxxxx
                                                     ld1rsh.  */
                                                  return 1619;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x111xxxxxx101xxxxxxxxxxxxx
                                                     ld1rsb.  */
                                                  return 1616;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x10x0xxxxx011xxxxxxxxxxxxx
                                                     ldff1w.  */
                                                  return 1753;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x10x1xxxxx011xxxxxxxxxxxxx
                                                     ldff1w.  */
                                                  return 1754;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 100001x11xxxxxxx011xxxxxxxxxxxxx
                                                 prfd.  */
                                              return 1842;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x1000xxxxx111xxxxxxxxxxxxx
                                                         prfw.  */
                                                      return 1855;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         100001x1100xxxxx111xxxxxxxxxxxxx
                                                         prfd.  */
                                                      return 1841;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x1x01xxxxx111xxxxxxxxxxxxx
                                                     ldff1w.  */
                                                  return 1763;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x101xxxxxx111xxxxxxxxxxxxx
                                                     ld1rw.  */
                                                  return 1622;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     100001x111xxxxxx111xxxxxxxxxxxxx
                                                     ld1rd.  */
                                                  return 1603;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 13) & 0x1) == 0)
                            {
                              if (((word >> 14) & 0x1) == 0)
                                {
                                  if (((word >> 15) & 0x1) == 0)
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx000000xxxxxxxxxx
                                                             saddlb.  */
                                                          return 2194;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx000100xxxxxxxxxx
                                                             ssublb.  */
                                                          return 2301;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx000010xxxxxxxxxx
                                                             uaddlb.  */
                                                          return 2325;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx000110xxxxxxxxxx
                                                             usublb.  */
                                                          return 2378;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx000001xxxxxxxxxx
                                                             saddlt.  */
                                                          return 2196;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx000101xxxxxxxxxx
                                                             ssublt.  */
                                                          return 2303;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx000011xxxxxxxxxx
                                                             uaddlt.  */
                                                          return 2326;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx000111xxxxxxxxxx
                                                             usublt.  */
                                                          return 2379;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 110001x1xx0xxxxx000xxxxxxxxxxxxx
                                                 ld1sw.  */
                                              return 1647;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx000000xxxxxxxxxx
                                                                 sqshrunb.  */
                                                              return 2284;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx000100xxxxxxxxxx
                                                                 shrnb.  */
                                                              return 2202;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx000010xxxxxxxxxx
                                                                 sqrshrunb.  */
                                                              return 2276;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx000110xxxxxxxxxx
                                                                 rshrnb.  */
                                                              return 2184;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx000001xxxxxxxxxx
                                                                 sqshrunt.  */
                                                              return 2285;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx000101xxxxxxxxxx
                                                                 shrnt.  */
                                                              return 2203;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx000011xxxxxxxxxx
                                                                 sqrshrunt.  */
                                                              return 2277;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx000111xxxxxxxxxx
                                                                 rshrnt.  */
                                                              return 2185;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x10x1xxxxx000xxxxxxxxxxxxx
                                                     ld1sw.  */
                                                  return 1648;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x10001x11x1xxxxx000xxxxxxxxxxxxx
                                                 sqrshrun.  */
                                              return 2481;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx100000xxxxxxxxxx
                                                             saddlbt.  */
                                                          return 2195;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx100100xxxxxxxxxx
                                                             eorbt.  */
                                                          return 2131;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx100010xxxxxxxxxx
                                                             ssublbt.  */
                                                          return 2302;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x1000xxxxx100110xxxxxxxxxx
                                                                     smmla.  */
                                                                  return 3037;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x1100xxxxx100110xxxxxxxxxx
                                                                     usmmla.  */
                                                                  return 3039;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x1x10xxxxx100110xxxxxxxxxx
                                                                 ummla.  */
                                                              return 3038;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x1xx0xxxxx100x01xxxxxxxxxx
                                                         eortb.  */
                                                      return 2132;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x1xx0xxxxx100x11xxxxxxxxxx
                                                         ssubltb.  */
                                                      return 2304;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x1x00xxxxx100xxxxxxxxxxxxx
                                                     ldnt1sw.  */
                                                  return 2163;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x1x10xxxxx100xxxxxxxxxxxxx
                                                     ld1sw.  */
                                                  return 1649;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     010001x1xx1xxxxx100xxxxxxxx0xxxx
                                                     match.  */
                                                  return 2166;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     010001x1xx1xxxxx100xxxxxxxx1xxxx
                                                     nmatch.  */
                                                  return 2178;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x1x01xxxxx100xxxxxxxxxxxxx
                                                     ld1sw.  */
                                                  return 1652;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x1x11xxxxx100xxxxxxxxxxxxx
                                                     ld1sw.  */
                                                  return 1650;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 15) & 0x1) == 0)
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx010000xxxxxxxxxx
                                                             saddwb.  */
                                                          return 2197;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx010100xxxxxxxxxx
                                                             ssubwb.  */
                                                          return 2305;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx010010xxxxxxxxxx
                                                             uaddwb.  */
                                                          return 2327;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx010110xxxxxxxxxx
                                                             usubwb.  */
                                                          return 2380;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx010001xxxxxxxxxx
                                                             saddwt.  */
                                                          return 2198;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx010101xxxxxxxxxx
                                                             ssubwt.  */
                                                          return 2306;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx010011xxxxxxxxxx
                                                             uaddwt.  */
                                                          return 2328;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx010111xxxxxxxxxx
                                                             usubwt.  */
                                                          return 2381;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x10x0xxxxx010xxxxxxxxxxxxx
                                                     ld1w.  */
                                                  return 1657;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x11x0xxxxx010xxxxxxxxxxxxx
                                                     ld1d.  */
                                                  return 1579;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x10x1xxxx0010000xxxxxxxxxx
                                                                     sqxtnb.  */
                                                                  return 2288;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x10x1xxxx1010000xxxxxxxxxx
                                                                     sqcvtn.  */
                                                                  return 2478;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x10x1xxxx0010100xxxxxxxxxx
                                                                     sqxtunb.  */
                                                                  return 2290;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x10x1xxxx1010100xxxxxxxxxx
                                                                     sqcvtun.  */
                                                                  return 2479;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxx0010x10xxxxxxxxxx
                                                                 uqxtnb.  */
                                                              return 2365;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxx1010x10xxxxxxxxxx
                                                                 uqcvtn.  */
                                                              return 2484;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx010001xxxxxxxxxx
                                                                 sqxtnt.  */
                                                              return 2289;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx010101xxxxxxxxxx
                                                                 sqxtunt.  */
                                                              return 2291;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x10x1xxxxx010x11xxxxxxxxxx
                                                             uqxtnt.  */
                                                          return 2366;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x10x1xxxxx010xxxxxxxxxxxxx
                                                     ld1w.  */
                                                  return 1658;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x10001x11x1xxxxx010xxxxxxxxxxxxx
                                                 ld1d.  */
                                              return 1580;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 11) & 0x1) == 0)
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx110000xxxxxxxxxx
                                                             sabalb.  */
                                                          return 2189;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x0xxxxx110100xxxxxxxxxx
                                                                 adclb.  */
                                                              return 2114;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x11x0xxxxx110100xxxxxxxxxx
                                                                 sbclb.  */
                                                              return 2199;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx110001xxxxxxxxxx
                                                             sabalt.  */
                                                          return 2190;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x0xxxxx110101xxxxxxxxxx
                                                                 adclt.  */
                                                              return 2115;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x11x0xxxxx110101xxxxxxxxxx
                                                                 sbclt.  */
                                                              return 2200;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx110010xxxxxxxxxx
                                                             uabalb.  */
                                                          return 2320;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx110011xxxxxxxxxx
                                                             uabalt.  */
                                                          return 2321;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxx011011xxxxxxxxxxx
                                                             cadd.  */
                                                          return 2123;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxx111011xxxxxxxxxxx
                                                             sqcadd.  */
                                                          return 2231;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x1000xxxxx110xxxxxxxxxxxxx
                                                         ldnt1w.  */
                                                      return 2165;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x1100xxxxx110xxxxxxxxxxxxx
                                                         ldnt1d.  */
                                                      return 2158;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x1010xxxxx110xxxxxxxxxxxxx
                                                         ld1w.  */
                                                      return 1659;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x1110xxxxx110xxxxxxxxxxxxx
                                                         ld1d.  */
                                                      return 1581;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10001x1001xxxxx110xxxxxxxxxxxxx
                                                     ld1w.  */
                                                  return 1664;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10001x1011xxxxx110xxxxxxxxxxxxx
                                                     ld1w.  */
                                                  return 1660;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     010001x11x1xxxxx110xxxxxxxxxxxxx
                                                     histcnt.  */
                                                  return 2154;
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x1101xxxxx110xxxxxxxxxxxxx
                                                         ld1d.  */
                                                      return 1584;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x1111xxxxx110xxxxxxxxxxxxx
                                                         ld1d.  */
                                                      return 1582;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 14) & 0x1) == 0)
                                {
                                  if (((word >> 15) & 0x1) == 0)
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x1xx0xxxxx001x00xxxxxxxxxx
                                                         sabdlb.  */
                                                      return 2191;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x1xx0xxxxx001x10xxxxxxxxxx
                                                         uabdlb.  */
                                                      return 2322;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x1xx0xxxxx001x01xxxxxxxxxx
                                                         sabdlt.  */
                                                      return 2192;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x1xx0xxxxx001x11xxxxxxxxxx
                                                         uabdlt.  */
                                                      return 2323;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 110001x1xx0xxxxx001xxxxxxxxxxxxx
                                                 ldff1sw.  */
                                              return 1748;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx001000xxxxxxxxxx
                                                                 sqshrnb.  */
                                                              return 2282;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx001100xxxxxxxxxx
                                                                 uqshrnb.  */
                                                              return 2361;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx001010xxxxxxxxxx
                                                                 sqrshrnb.  */
                                                              return 2274;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx001110xxxxxxxxxx
                                                                 uqrshrnb.  */
                                                              return 2356;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx001001xxxxxxxxxx
                                                                 sqshrnt.  */
                                                              return 2283;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx001101xxxxxxxxxx
                                                                 uqshrnt.  */
                                                              return 2362;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx001011xxxxxxxxxx
                                                                 sqrshrnt.  */
                                                              return 2275;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x10x1xxxxx001111xxxxxxxxxx
                                                                 uqrshrnt.  */
                                                              return 2357;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x10x1xxxxx001xxxxxxxxxxxxx
                                                     ldff1sw.  */
                                                  return 1749;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10001x11x1xxxxx0010xxxxxxxxxxxx
                                                     sqrshrn.  */
                                                  return 2480;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10001x11x1xxxxx0011xxxxxxxxxxxx
                                                     uqrshrn.  */
                                                  return 2485;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx101000xxxxxxxxxx
                                                             sshllb.  */
                                                          return 2298;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx101100xxxxxxxxxx
                                                             bext.  */
                                                          return 2403;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx101010xxxxxxxxxx
                                                             ushllb.  */
                                                          return 2374;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx101110xxxxxxxxxx
                                                             bgrp.  */
                                                          return 2404;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx101001xxxxxxxxxx
                                                             sshllt.  */
                                                          return 2299;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx101101xxxxxxxxxx
                                                             bdep.  */
                                                          return 2402;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x1xx0xxxxx101x11xxxxxxxxxx
                                                         ushllt.  */
                                                      return 2375;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 110001x1xx0xxxxx101xxxxxxxxxxxxx
                                                 ldff1sw.  */
                                              return 1750;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx1xxxxx101000xxxxxxxxxx
                                                             histseg.  */
                                                          return 2155;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx1xxxxx101100xxxxxxxxxx
                                                             luti2.  */
                                                          return 3423;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x1xx1xxxxx101x10xxxxxxxxxx
                                                         luti2.  */
                                                      return 3424;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx1xxxxx101001xxxxxxxxxx
                                                             luti4.  */
                                                          return 3425;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx1xxxxx101101xxxxxxxxxx
                                                             luti4.  */
                                                          return 3426;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         010001x1xx1xxxxx101x11xxxxxxxxxx
                                                         luti4.  */
                                                      return 3427;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x1x01xxxxx101xxxxxxxxxxxxx
                                                     ldff1sw.  */
                                                  return 1752;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x1x11xxxxx101xxxxxxxxxxxxx
                                                     ldff1sw.  */
                                                  return 1751;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 15) & 0x1) == 0)
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx011000xxxxxxxxxx
                                                             sqdmullb.  */
                                                          return 2252;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx011100xxxxxxxxxx
                                                             smullb.  */
                                                          return 2224;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x1x00xxxxx011010xxxxxxxxxx
                                                                 pmullb.  */
                                                              return 2399;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x1x10xxxxx011010xxxxxxxxxx
                                                                 pmullb.  */
                                                              return 2180;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx011110xxxxxxxxxx
                                                             umullb.  */
                                                          return 2349;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx011001xxxxxxxxxx
                                                             sqdmullt.  */
                                                          return 2255;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx011101xxxxxxxxxx
                                                             smullt.  */
                                                          return 2227;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x1x00xxxxx011011xxxxxxxxxx
                                                                 pmullt.  */
                                                              return 2400;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x1x10xxxxx011011xxxxxxxxxx
                                                                 pmullt.  */
                                                              return 2181;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx011111xxxxxxxxxx
                                                             umullt.  */
                                                          return 2352;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x10x0xxxxx011xxxxxxxxxxxxx
                                                     ldff1w.  */
                                                  return 1759;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x11x0xxxxx011xxxxxxxxxxxxx
                                                     ldff1d.  */
                                                  return 1704;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx1xxxxx011000xxxxxxxxxx
                                                             addhnb.  */
                                                          return 2116;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx1xxxxx011100xxxxxxxxxx
                                                             subhnb.  */
                                                          return 2314;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx1xxxxx011010xxxxxxxxxx
                                                             raddhnb.  */
                                                          return 2182;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx1xxxxx011110xxxxxxxxxx
                                                             rsubhnb.  */
                                                          return 2186;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx1xxxxx011001xxxxxxxxxx
                                                             addhnt.  */
                                                          return 2117;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx1xxxxx011101xxxxxxxxxx
                                                             subhnt.  */
                                                          return 2315;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx1xxxxx011011xxxxxxxxxx
                                                             raddhnt.  */
                                                          return 2183;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx1xxxxx011111xxxxxxxxxx
                                                             rsubhnt.  */
                                                          return 2187;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x10x1xxxxx011xxxxxxxxxxxxx
                                                     ldff1w.  */
                                                  return 1760;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     110001x11x1xxxxx011xxxxxxxxxxxxx
                                                     ldff1d.  */
                                                  return 1705;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx111000xxxxxxxxxx
                                                             ssra.  */
                                                          return 2300;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx111100xxxxxxxxxx
                                                             sri.  */
                                                          return 2293;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx111010xxxxxxxxxx
                                                             srsra.  */
                                                          return 2297;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx111110xxxxxxxxxx
                                                             saba.  */
                                                          return 2188;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx111001xxxxxxxxxx
                                                             usra.  */
                                                          return 2377;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx111101xxxxxxxxxx
                                                             sli.  */
                                                          return 2206;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx111011xxxxxxxxxx
                                                             ursra.  */
                                                          return 2373;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             010001x1xx0xxxxx111111xxxxxxxxxx
                                                             uaba.  */
                                                          return 2319;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x1000xxxxx111xxxxxxxxxxxxx
                                                         prfw.  */
                                                      return 1857;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x1100xxxxx111xxxxxxxxxxxxx
                                                         prfd.  */
                                                      return 1843;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x1010xxxxx111xxxxxxxxxxxxx
                                                         ldff1w.  */
                                                      return 1761;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x1110xxxxx111xxxxxxxxxxxxx
                                                         ldff1d.  */
                                                      return 1706;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  if (((word >> 31) & 0x1) == 0)
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 17) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         010001x1001xxx001110x0xxxxxxxxxx
                                                                         aesmc.  */
                                                                      return 2398;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         010001x1001xxx101110x0xxxxxxxxxx
                                                                         aese.  */
                                                                      return 2396;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x1001xxxx11110x0xxxxxxxxxx
                                                                     sm4e.  */
                                                                  return 2393;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x1001xxxxx1111x0xxxxxxxxxx
                                                                 sm4ekey.  */
                                                              return 2394;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              if (((word >> 17) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x1001xxx0x1110x1xxxxxxxxxx
                                                                     aesimc.  */
                                                                  return 2397;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     010001x1001xxx1x1110x1xxxxxxxxxx
                                                                     aesd.  */
                                                                  return 2395;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 010001x1001xxxxx1111x1xxxxxxxxxx
                                                                 rax1.  */
                                                              return 2401;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         110001x1001xxxxx111xxxxxxxxxxxxx
                                                         ldff1w.  */
                                                      return 1764;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10001x1101xxxxx111xxxxxxxxxxxxx
                                                     ldff1d.  */
                                                  return 1708;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10001x1011xxxxx111xxxxxxxxxxxxx
                                                     ldff1w.  */
                                                  return 1762;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10001x1111xxxxx111xxxxxxxxxxxxx
                                                     ldff1d.  */
                                                  return 1707;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 15) & 0x1) == 0)
                        {
                          if (((word >> 14) & 0x1) == 0)
                            {
                              if (((word >> 13) & 0x1) == 0)
                                {
                                  if (((word >> 30) & 0x1) == 0)
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x1xx0xxxxx000xxxxxxxx0xxxx
                                                     cmpge.  */
                                                  return 1387;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x1xx0xxxxx000xxxxxxxx1xxxx
                                                     cmpgt.  */
                                                  return 1390;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x10x0xxxxx000xxxxxxxxxxxxx
                                                     ld1rqw.  */
                                                  return 1614;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x11x0xxxxx000xxxxxxxxxxxxx
                                                     ld1rqd.  */
                                                  return 1610;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx000000xxxxx0xxxx
                                                                 whilege.  */
                                                              return 2382;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx000100xxxxx0xxxx
                                                                 whilege.  */
                                                              return 2383;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx000010xxxxx0xxxx
                                                                 whilehs.  */
                                                              return 2388;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx000110xxxxx0xxxx
                                                                 whilehs.  */
                                                              return 2389;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx000001xxxxx0xxxx
                                                                 whilelt.  */
                                                              return 2094;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx000101xxxxx0xxxx
                                                                 whilelt.  */
                                                              return 2095;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx000011xxxxx0xxxx
                                                                 whilelo.  */
                                                              return 2090;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx000111xxxxx0xxxx
                                                                 whilelo.  */
                                                              return 2091;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx000000xxxxx1xxxx
                                                                 whilegt.  */
                                                              return 2384;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx000100xxxxx1xxxx
                                                                 whilegt.  */
                                                              return 2385;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx000010xxxxx1xxxx
                                                                 whilehi.  */
                                                              return 2386;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx000110xxxxx1xxxx
                                                                 whilehi.  */
                                                              return 2387;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx000001xxxxx1xxxx
                                                                 whilele.  */
                                                              return 2088;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx000101xxxxx1xxxx
                                                                 whilele.  */
                                                              return 2089;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx000011xxxxx1xxxx
                                                                 whilels.  */
                                                              return 2092;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx000111xxxxx1xxxx
                                                                 whilels.  */
                                                              return 2093;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x10x1xxxxx000xxxxxxxxxxxxx
                                                     ld1row.  */
                                                  return 3047;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x11x1xxxxx000xxxxxxxxxxxxx
                                                     ld1rod.  */
                                                  return 3048;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 21) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         011001x1xx0xxxxx000x00xxxxxxxxxx
                                                         fadd.  */
                                                      return 1445;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x1xx0xxxxx000010xxxxxxxxxx
                                                             fmul.  */
                                                          return 1512;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x1xx0xxxxx000110xxxxxxxxxx
                                                             frecps.  */
                                                          return 1525;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         011001x1xx0xxxxx000x01xxxxxxxxxx
                                                         fsub.  */
                                                      return 1538;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x1xx0xxxxx000011xxxxxxxxxx
                                                             ftsmul.  */
                                                          return 1544;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x1xx0xxxxx000111xxxxxxxxxx
                                                             frsqrts.  */
                                                          return 1535;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 011001x1xx1xxxxx000xxxxxxxxxxxxx
                                                 fmla.  */
                                              return 1503;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             111001x1xxxxxxxx000xxxxxxxxxxxxx
                                             str.  */
                                          return 2008;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x1xx0xxxxx001xxxxxxxx0xxxx
                                                     cmplt.  */
                                                  return 1404;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x1xx0xxxxx001xxxxxxxx1xxxx
                                                     cmple.  */
                                                  return 1398;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x10x0xxxxx001xxxxxxxxxxxxx
                                                     ld1rqw.  */
                                                  return 1613;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x11x0xxxxx001xxxxxxxxxxxxx
                                                     ld1rqd.  */
                                                  return 1609;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx000000001xxxxxxxxxxxxx
                                                                     faddv.  */
                                                                  return 1449;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 4) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1xx010000001xxxxxxxx0xxxx
                                                                         fcmge.  */
                                                                      return 1456;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1xx010000001xxxxxxxx1xxxx
                                                                         fcmgt.  */
                                                                      return 1458;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 10) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 11) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             011001x1xx001000001x00xxxxxxxxxx
                                                                             f1cvt.  */
                                                                          return 3385;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             011001x1xx001000001x10xxxxxxxxxx
                                                                             bf1cvt.  */
                                                                          return 3381;
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 11) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             011001x1xx001000001x01xxxxxxxxxx
                                                                             f2cvt.  */
                                                                          return 3386;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             011001x1xx001000001x11xxxxxxxxxx
                                                                             bf2cvt.  */
                                                                          return 3382;
                                                                        }
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx011000001xxxxxxxxxxxxx
                                                                     fadda.  */
                                                                  return 1448;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x1xx0xx100001xxxxxxxxxxxxx
                                                             fmaxnmv.  */
                                                          return 1495;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x1xx0x0010001xxxxxxxxxxxxx
                                                                 fcmeq.  */
                                                              return 1454;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 10) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 11) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1xx0x1010001x00xxxxxxxxxx
                                                                         fcvtn.  */
                                                                      return 3390;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1xx0x1010001x10xxxxxxxxxx
                                                                         bfcvtn.  */
                                                                      return 3389;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 11) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1xx0x1010001x01xxxxxxxxxx
                                                                         fcvtnb.  */
                                                                      return 3391;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1xx0x1010001x11xxxxxxxxxx
                                                                         fcvtnt.  */
                                                                      return 3392;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x1xx0x0110001xxxxxxxxxxxxx
                                                                 fmaxv.  */
                                                              return 1496;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x1xx0x1110001xxxxxxxxxxxxx
                                                                 frecpe.  */
                                                              return 1524;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 4) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx0x0001001xxxxxxxx0xxxx
                                                                     fcmlt.  */
                                                                  return 1461;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx0x0001001xxxxxxxx1xxxx
                                                                     fcmle.  */
                                                                  return 1460;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 10) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 11) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1xx0x1001001x00xxxxxxxxxx
                                                                         f1cvtlt.  */
                                                                      return 3387;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1xx0x1001001x10xxxxxxxxxx
                                                                         bf1cvtlt.  */
                                                                      return 3383;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 11) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1xx0x1001001x01xxxxxxxxxx
                                                                         f2cvtlt.  */
                                                                      return 3388;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1xx0x1001001x11xxxxxxxxxx
                                                                         bf2cvtlt.  */
                                                                      return 3384;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x1xx0xx101001xxxxxxxxxxxxx
                                                             fminnmv.  */
                                                          return 1501;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             011001x1xx0xx011001xxxxxxxxxxxxx
                                                             fcmne.  */
                                                          return 1462;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x1xx0x0111001xxxxxxxxxxxxx
                                                                 fminv.  */
                                                              return 1502;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x1xx0x1111001xxxxxxxxxxxxx
                                                                 frsqrte.  */
                                                              return 1534;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1000xxxxx001xxxxxxxxxxxxx
                                                         stnt1w.  */
                                                      return 2313;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1100xxxxx001xxxxxxxxxxxxx
                                                         stnt1d.  */
                                                      return 2309;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x1x10xxxxx001xxxxxxxxxxxxx
                                                     stnt1w.  */
                                                  return 2312;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         001001x1xx1xxxxx0010xxxxxxx0xxxx
                                                         ctermeq.  */
                                                      return 1419;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         001001x1xx1xxxxx0011xxxxxxx0xxxx
                                                         whilewr.  */
                                                      return 2391;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         001001x1xx1xxxxx0010xxxxxxx1xxxx
                                                         ctermne.  */
                                                      return 1420;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         001001x1xx1xxxxx0011xxxxxxx1xxxx
                                                         whilerw.  */
                                                      return 2390;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x10x1xxxxx001xxxxxxxxxxxxx
                                                     ld1row.  */
                                                  return 3051;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x11x1xxxxx001xxxxxxxxxxxxx
                                                     ld1rod.  */
                                                  return 3052;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x11001x1xx1xxxxx001xxxxxxxxxxxxx
                                             fmls.  */
                                          return 1507;
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 22) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 9) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 4) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x10000xxxx01xxxx0xxxx0xxxx
                                                                 and.  */
                                                              return 1350;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x10000xxxx01xxxx0xxxx1xxxx
                                                                 bic.  */
                                                              return 1362;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x100010xxx01xxxx0xxxxxxxxx
                                                                 brka.  */
                                                              return 1364;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x100011xxx01xxxx0xxxxxxxxx
                                                                 brkn.  */
                                                              return 1368;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 4) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x1000xxxxx01xxxx1xxxx0xxxx
                                                             eor.  */
                                                          return 1437;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x1000xxxxx01xxxx1xxxx1xxxx
                                                             sel.  */
                                                          return 1888;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1000xxxxx010xxxxxxxxxxxxx
                                                         ld1sh.  */
                                                      return 1636;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1000xxxxx011xxxxxxxxxxxxx
                                                         ldff1sh.  */
                                                      return 1736;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 9) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 4) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x11000xxxx01xxxx0xxxx0xxxx
                                                                 orr.  */
                                                              return 1823;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x11000xxxx01xxxx0xxxx1xxxx
                                                                 orn.  */
                                                              return 1818;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x11001xxxx01xxxx0xxxxxxxxx
                                                             brkb.  */
                                                          return 1366;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 4) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x1100xxxxx01xxxx1xxxx0xxxx
                                                             nor.  */
                                                          return 1815;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x1100xxxxx01xxxx1xxxx1xxxx
                                                             nand.  */
                                                          return 1812;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1100xxxxx010xxxxxxxxxxxxx
                                                         ld1sb.  */
                                                      return 1624;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1100xxxxx011xxxxxxxxxxxxx
                                                         ldff1sb.  */
                                                      return 1724;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 4) & 0x1) == 0)
                                                    {
                                                      if (((word >> 9) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x10100xxxx01xxxx0xxxx0xxxx
                                                                 ands.  */
                                                              return 1351;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 19) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     001001x101010xxx01xxxx0xxxx0xxxx
                                                                     brkas.  */
                                                                  return 1365;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     001001x101011xxx01xxxx0xxxx0xxxx
                                                                     brkns.  */
                                                                  return 1369;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x1010xxxxx01xxxx1xxxx0xxxx
                                                             eors.  */
                                                          return 1438;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         001001x1010xxxxx01xxxxxxxxx1xxxx
                                                         bics.  */
                                                      return 1363;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1010xxxxx010xxxxxxxxxxxxx
                                                         ld1w.  */
                                                      return 1655;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1010xxxxx011xxxxxxxxxxxxx
                                                         ldff1w.  */
                                                      return 1755;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 4) & 0x1) == 0)
                                                    {
                                                      if (((word >> 9) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x11100xxxx01xxxx0xxxx0xxxx
                                                                 orrs.  */
                                                              return 1824;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x11101xxxx01xxxx0xxxx0xxxx
                                                                 brkbs.  */
                                                              return 1367;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x1110xxxxx01xxxx1xxxx0xxxx
                                                             nors.  */
                                                          return 1816;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 9) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x1110xxxxx01xxxx0xxxx1xxxx
                                                             orns.  */
                                                          return 1819;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x1110xxxxx01xxxx1xxxx1xxxx
                                                             nands.  */
                                                          return 1813;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1110xxxxx010xxxxxxxxxxxxx
                                                         ld1sb.  */
                                                      return 1626;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1110xxxxx011xxxxxxxxxxxxx
                                                         ldff1sb.  */
                                                      return 1728;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 4) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 001001x1xx1xxxxx01xxxxxxxxx0xxxx
                                                 psel.  */
                                              return 2466;
                                            }
                                          else
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 3) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx01x000xxxxx10xxx
                                                                 whilege.  */
                                                              return 2949;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx01x000xxxxx11xxx
                                                                 whilegt.  */
                                                              return 2950;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 13) & 0x1) == 0)
                                                            {
                                                              if (((word >> 0) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     001001x1xx1xxxxx010100xxxxx1xxx0
                                                                     whilege.  */
                                                                  return 2486;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     001001x1xx1xxxxx010100xxxxx1xxx1
                                                                     whilegt.  */
                                                                  return 2487;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx011100xxxxx1xxxx
                                                                 pext.  */
                                                              return 2690;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 3) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx01x010xxxxx10xxx
                                                                 whilehs.  */
                                                              return 2952;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx01x010xxxxx11xxx
                                                                 whilehi.  */
                                                              return 2951;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 13) & 0x1) == 0)
                                                            {
                                                              if (((word >> 0) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     001001x1xx1xxxxx010110xxxxx1xxx0
                                                                     whilehs.  */
                                                                  return 2489;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     001001x1xx1xxxxx010110xxxxx1xxx1
                                                                     whilehi.  */
                                                                  return 2488;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx011110xxxxx1xxxx
                                                                 ptrue.  */
                                                              return 2692;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 3) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx01x001xxxxx10xxx
                                                                 whilelt.  */
                                                              return 2956;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx01x001xxxxx11xxx
                                                                 whilele.  */
                                                              return 2953;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 13) & 0x1) == 0)
                                                            {
                                                              if (((word >> 0) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     001001x1xx1xxxxx010101xxxxx1xxx0
                                                                     whilelt.  */
                                                                  return 2493;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     001001x1xx1xxxxx010101xxxxx1xxx1
                                                                     whilele.  */
                                                                  return 2490;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx011101xxxxx1xxxx
                                                                 pext.  */
                                                              return 2691;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 3) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx01x011xxxxx10xxx
                                                                 whilelo.  */
                                                              return 2954;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx01x011xxxxx11xxx
                                                                 whilels.  */
                                                              return 2955;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 0) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx01x111xxxxx1xxx0
                                                                 whilelo.  */
                                                              return 2491;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxxxx01x111xxxxx1xxx1
                                                                 whilels.  */
                                                              return 2492;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1001xxxxx010xxxxxxxxxxxxx
                                                         ld1sh.  */
                                                      return 1637;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1101xxxxx010xxxxxxxxxxxxx
                                                         ld1sb.  */
                                                      return 1625;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1011xxxxx010xxxxxxxxxxxxx
                                                         ld1w.  */
                                                      return 1656;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1111xxxxx010xxxxxxxxxxxxx
                                                         ld1d.  */
                                                      return 1578;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1001xxxxx011xxxxxxxxxxxxx
                                                         ldff1sh.  */
                                                      return 1738;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1101xxxxx011xxxxxxxxxxxxx
                                                         ldff1sb.  */
                                                      return 1726;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1011xxxxx011xxxxxxxxxxxxx
                                                         ldff1w.  */
                                                      return 1757;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1111xxxxx011xxxxxxxxxxxxx
                                                         ldff1d.  */
                                                      return 1702;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 21) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     011001x1xx0xxxxx010xxxxxxxx0xxxx
                                                     fcmge.  */
                                                  return 1457;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     011001x1xx0xxxxx010xxxxxxxx1xxxx
                                                     fcmgt.  */
                                                  return 1459;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 011001x1xx1xxxxx010xxxxxxxxxxxxx
                                                 fnmla.  */
                                              return 1521;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 111001x1x0xxxxxx010xxxxxxxxxxxxx
                                                 str.  */
                                              return 2010;
                                            }
                                          else
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x1x10xxxxx010xxxxxxxxxxxxx
                                                     st1w.  */
                                                  return 1968;
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1011xxxxx010xxxxxxxxxxxxx
                                                         st1w.  */
                                                      return 1970;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1111xxxxx010xxxxxxxxxxxxx
                                                         st1d.  */
                                                      return 1947;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     011001x1xx0xxxxx011xxxxxxxx0xxxx
                                                     fcmeq.  */
                                                  return 1455;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     011001x1xx0xxxxx011xxxxxxxx1xxxx
                                                     fcmne.  */
                                                  return 1463;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1000xxxxx011xxxxxxxxxxxxx
                                                         stnt1w.  */
                                                      return 2006;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1100xxxxx011xxxxxxxxxxxxx
                                                         stnt1d.  */
                                                      return 2002;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1010xxxxx011xxxxxxxxxxxxx
                                                         st3w.  */
                                                      return 1990;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1110xxxxx011xxxxxxxxxxxxx
                                                         st3d.  */
                                                      return 1986;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 011001x1xx1xxxxx011xxxxxxxxxxxxx
                                                 fnmls.  */
                                              return 1522;
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1001xxxxx011xxxxxxxxxxxxx
                                                         st2w.  */
                                                      return 1982;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1101xxxxx011xxxxxxxxxxxxx
                                                         st2d.  */
                                                      return 1978;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1011xxxxx011xxxxxxxxxxxxx
                                                         st4w.  */
                                                      return 1998;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1111xxxxx011xxxxxxxxxxxxx
                                                         st4d.  */
                                                      return 1994;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                      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
                                                 x01001x1xx0xxxxx100xxxxxxxx0xxxx
                                                 cmpeq.  */
                                              return 1384;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x01001x1xx0xxxxx100xxxxxxxx1xxxx
                                                 cmpne.  */
                                              return 1407;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 20) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x01001x10000xxxx101xxxxxxxxxxxxx
                                                         ld1sh.  */
                                                      return 1643;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x01001x11000xxxx101xxxxxxxxxxxxx
                                                         ld1sb.  */
                                                      return 1630;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x01001x10100xxxx101xxxxxxxxxxxxx
                                                         ld1w.  */
                                                      return 1662;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x01001x11100xxxx101xxxxxxxxxxxxx
                                                         ld1sb.  */
                                                      return 1632;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x01001x10001xxxx101xxxxxxxxxxxxx
                                                         ldnf1sh.  */
                                                      return 1776;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x01001x11001xxxx101xxxxxxxxxxxxx
                                                         ldnf1sb.  */
                                                      return 1773;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x01001x10101xxxx101xxxxxxxxxxxxx
                                                         ldnf1w.  */
                                                      return 1779;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x01001x11101xxxx101xxxxxxxxxxxxx
                                                         ldnf1sb.  */
                                                      return 1775;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 4) & 0x1) == 0)
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         001001x1x000xxxx11xxxxxxxxx0xxxx
                                                         brkpa.  */
                                                      return 1370;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         001001x1x100xxxx11xxxxxxxxx0xxxx
                                                         brkpas.  */
                                                      return 1371;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x1xx010xx011xxxxxxxxx0xxxx
                                                             ptest.  */
                                                          return 1858;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 10) & 0x1) == 0)
                                                            {
                                                              if (((word >> 12) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 13) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         001001x1xx011xx01100x0xxxxx0xxxx
                                                                         pfirst.  */
                                                                      return 1828;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         001001x1xx011xx01110x0xxxxx0xxxx
                                                                         ptrue.  */
                                                                      return 1859;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 22) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         001001x1x0011xx011x1x0xxxxx0xxxx
                                                                         rdffr.  */
                                                                      return 1865;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         001001x1x1011xx011x1x0xxxxx0xxxx
                                                                         rdffrs.  */
                                                                      return 1866;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx011xx011xxx1xxxxx0xxxx
                                                                 pfalse.  */
                                                              return 1826;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx01xxx111x0x0xxxxx0xxxx
                                                                 ptrues.  */
                                                              return 1860;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx01xxx111x1x0xxxxx0xxxx
                                                                 rdffr.  */
                                                              return 1864;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x1xx01xxx111xxx1xxxxx0xxxx
                                                             pnext.  */
                                                          return 1829;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x1x00xxxxx11xxxxxxxxx1xxxx
                                                     brkpb.  */
                                                  return 1372;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     001001x1x10xxxxx11xxxxxxxxx1xxxx
                                                     brkpbs.  */
                                                  return 1373;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1000xxxxx110xxxxxxxxxxxxx
                                                         ldnt1w.  */
                                                      return 1787;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1100xxxxx110xxxxxxxxxxxxx
                                                         ldnt1d.  */
                                                      return 1783;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1010xxxxx110xxxxxxxxxxxxx
                                                         ld3w.  */
                                                      return 1679;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1110xxxxx110xxxxxxxxxxxxx
                                                         ld3d.  */
                                                      return 1675;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x10000xxxx111xxxxxxxxxxxxx
                                                             ldnt1w.  */
                                                          return 1788;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x11000xxxx111xxxxxxxxxxxxx
                                                             ldnt1d.  */
                                                          return 1784;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x10100xxxx111xxxxxxxxxxxxx
                                                             ld3w.  */
                                                          return 1680;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x11100xxxx111xxxxxxxxxxxxx
                                                             ld3d.  */
                                                          return 1676;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x10x01xxxx111xxxxxxxxxxxxx
                                                         ld3q.  */
                                                      return 3356;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x11x01xxxx111xxxxxxxxxxxxx
                                                         ld4q.  */
                                                      return 3357;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 19) & 0x1) == 0)
                                                {
                                                  if (((word >> 20) & 0x1) == 0)
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          if (((word >> 17) & 0x1) == 0)
                                                            {
                                                              if (((word >> 18) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx000000100xxxxxxxxxxxxx
                                                                     fadd.  */
                                                                  return 1446;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx000100100xxxxxxxxxxxxx
                                                                     fmaxnm.  */
                                                                  return 1493;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 18) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx000010100xxxxxxxxxxxxx
                                                                     fmul.  */
                                                                  return 1513;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx000110100xxxxxxxxxxxxx
                                                                     fmax.  */
                                                                  return 1491;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 17) & 0x1) == 0)
                                                            {
                                                              if (((word >> 18) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx000001100xxxxxxxxxxxxx
                                                                     fsub.  */
                                                                  return 1539;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx000101100xxxxxxxxxxxxx
                                                                     fminnm.  */
                                                                  return 1499;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 18) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx000011100xxxxxxxxxxxxx
                                                                     fsubr.  */
                                                                  return 1541;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx000111100xxxxxxxxxxxxx
                                                                     fmin.  */
                                                                  return 1497;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         011001x1xx010xxx100xxxxxxxxxxxxx
                                                         ftmad.  */
                                                      return 1543;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 17) & 0x1) == 0)
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx001000100xxxxxxxxxxxxx
                                                                     fabd.  */
                                                                  return 1441;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx011000100xxxxxxxxxxxxx
                                                                     fadd.  */
                                                                  return 1447;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx001100100xxxxxxxxxxxxx
                                                                     fdivr.  */
                                                                  return 1487;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx011100100xxxxxxxxxxxxx
                                                                     fmaxnm.  */
                                                                  return 1494;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx001010100xxxxxxxxxxxxx
                                                                     fmulx.  */
                                                                  return 1518;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx011010100xxxxxxxxxxxxx
                                                                     fmul.  */
                                                                  return 1514;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx001110100xxxxxxxxxxxxx
                                                                     famax.  */
                                                                  return 1210;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx011110100xxxxxxxxxxxxx
                                                                     fmax.  */
                                                                  return 1492;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 17) & 0x1) == 0)
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx001001100xxxxxxxxxxxxx
                                                                     fscale.  */
                                                                  return 1536;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx011001100xxxxxxxxxxxxx
                                                                     fsub.  */
                                                                  return 1540;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx001101100xxxxxxxxxxxxx
                                                                     fdiv.  */
                                                                  return 1486;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx011101100xxxxxxxxxxxxx
                                                                     fminnm.  */
                                                                  return 1500;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 011001x1xx0x1011100xxxxxxxxxxxxx
                                                                 fsubr.  */
                                                              return 1542;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx001111100xxxxxxxxxxxxx
                                                                     famin.  */
                                                                  return 1211;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx011111100xxxxxxxxxxxxx
                                                                     fmin.  */
                                                                  return 1498;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     011001x1xx0xxxxx110xxxxxxxx0xxxx
                                                     fcmuo.  */
                                                  return 1464;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     011001x1xx0xxxxx110xxxxxxxx1xxxx
                                                     facge.  */
                                                  return 1443;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x1000xxxxx1x0xxxxxxxxxxxxx
                                                     st1w.  */
                                                  return 1964;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x1100xxxxx1x0xxxxxxxxxxxxx
                                                     st1d.  */
                                                  return 1943;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 111001x1x10xxxxx1x0xxxxxxxxxxxxx
                                                 st1w.  */
                                              return 1969;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 19) & 0x1) == 0)
                                                    {
                                                      if (((word >> 17) & 0x1) == 0)
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx000000101xxxxxxxxxxxxx
                                                                     frintn.  */
                                                                  return 1530;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx010000101xxxxxxxxxxxxx
                                                                     scvtf.  */
                                                                  return 1878;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx000100101xxxxxxxxxxxxx
                                                                     frinta.  */
                                                                  return 1527;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 22) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1x0010100101xxxxxxxxxxxxx
                                                                         scvtf.  */
                                                                      return 1877;
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 23) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             011001x101010100101xxxxxxxxxxxxx
                                                                             scvtf.  */
                                                                          return 1876;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             011001x111010100101xxxxxxxxxxxxx
                                                                             scvtf.  */
                                                                          return 1880;
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx000010101xxxxxxxxxxxxx
                                                                     frintm.  */
                                                                  return 1529;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx010010101xxxxxxxxxxxxx
                                                                     scvtf.  */
                                                                  return 1875;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx000110101xxxxxxxxxxxxx
                                                                     frintx.  */
                                                                  return 1532;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x10x010110101xxxxxxxxxxxxx
                                                                         scvtf.  */
                                                                      return 1879;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x11x010110101xxxxxxxxxxxxx
                                                                         scvtf.  */
                                                                      return 1881;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 17) & 0x1) == 0)
                                                            {
                                                              if (((word >> 18) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 22) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1x0001000101xxxxxxxxxxxxx
                                                                         fcvt.  */
                                                                      return 1466;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1x1001000101xxxxxxxxxxxxx
                                                                         fcvt.  */
                                                                      return 1468;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx001100101xxxxxxxxxxxxx
                                                                     frecpx.  */
                                                                  return 1526;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x100001x10101xxxxxxxxxxxxx
                                                                         fcvtx.  */
                                                                      return 2139;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x110001x10101xxxxxxxxxxxxx
                                                                         bfcvt.  */
                                                                      return 3068;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1x1001x10101xxxxxxxxxxxxx
                                                                     fcvt.  */
                                                                  return 1470;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x100011xx0101xxxxxxxxxxxxx
                                                                     flogb.  */
                                                                  return 2141;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x110011xx0101xxxxxxxxxxxxx
                                                                     fcvtzs.  */
                                                                  return 1475;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 17) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 18) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1x1011000101xxxxxxxxxxxxx
                                                                         fcvtzs.  */
                                                                      return 1476;
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 23) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             011001x101011100101xxxxxxxxxxxxx
                                                                             fcvtzs.  */
                                                                          return 1473;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             011001x111011100101xxxxxxxxxxxxx
                                                                             fcvtzs.  */
                                                                          return 1477;
                                                                        }
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 18) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1x1011010101xxxxxxxxxxxxx
                                                                         fcvtzs.  */
                                                                      return 1472;
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 23) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             011001x101011110101xxxxxxxxxxxxx
                                                                             fcvtzs.  */
                                                                          return 1474;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             011001x111011110101xxxxxxxxxxxxx
                                                                             fcvtzs.  */
                                                                          return 1478;
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx000001101xxxxxxxxxxxxx
                                                                     frintp.  */
                                                                  return 1531;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx010001101xxxxxxxxxxxxx
                                                                     ucvtf.  */
                                                                  return 2031;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 22) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1x0001001101xxxxxxxxxxxxx
                                                                         fcvt.  */
                                                                      return 1467;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1x1001001101xxxxxxxxxxxxx
                                                                         fcvt.  */
                                                                      return 1469;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx011001101xxxxxxxxxxxxx
                                                                     fcvtzu.  */
                                                                  return 1483;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1x00x0101101xxxxxxxxxxxxx
                                                                     ucvtf.  */
                                                                  return 2030;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1010x0101101xxxxxxxxxxxxx
                                                                         ucvtf.  */
                                                                      return 2029;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1110x0101101xxxxxxxxxxxxx
                                                                         ucvtf.  */
                                                                      return 2033;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx001101101xxxxxxxxxxxxx
                                                                     fsqrt.  */
                                                                  return 1537;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 22) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x1x0011101101xxxxxxxxxxxxx
                                                                         fcvtzu.  */
                                                                      return 1482;
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 23) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             011001x101011101101xxxxxxxxxxxxx
                                                                             fcvtzu.  */
                                                                          return 1480;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             011001x111011101101xxxxxxxxxxxxx
                                                                             fcvtzu.  */
                                                                          return 1484;
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx000011101xxxxxxxxxxxxx
                                                                     frintz.  */
                                                                  return 1533;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx010011101xxxxxxxxxxxxx
                                                                     ucvtf.  */
                                                                  return 2028;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx001011101xxxxxxxxxxxxx
                                                                     fcvt.  */
                                                                  return 1471;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx011011101xxxxxxxxxxxxx
                                                                     fcvtzu.  */
                                                                  return 1479;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x1xx000111101xxxxxxxxxxxxx
                                                                     frinti.  */
                                                                  return 1528;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x10x010111101xxxxxxxxxxxxx
                                                                         ucvtf.  */
                                                                      return 2032;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         011001x11x010111101xxxxxxxxxxxxx
                                                                         ucvtf.  */
                                                                      return 2034;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x10x0x1111101xxxxxxxxxxxxx
                                                                     fcvtzu.  */
                                                                  return 1481;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     011001x11x0x1111101xxxxxxxxxxxxx
                                                                     fcvtzu.  */
                                                                  return 1485;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1000xxxxx101xxxxxxxxxxxxx
                                                         st1w.  */
                                                      return 1965;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1100xxxxx101xxxxxxxxxxxxx
                                                         st1d.  */
                                                      return 1944;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1010xxxxx101xxxxxxxxxxxxx
                                                         st1w.  */
                                                      return 1972;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1110xxxxx101xxxxxxxxxxxxx
                                                         st1d.  */
                                                      return 1948;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 011001x1xx0xxxxx111xxxxxxxxxxxxx
                                                 facgt.  */
                                              return 1444;
                                            }
                                          else
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x1xx00xxxx111xxxxxxxxxxxxx
                                                     st1w.  */
                                                  return 1973;
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             111001x10001xxxx111xxxxxxxxxxxxx
                                                             stnt1w.  */
                                                          return 2007;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             111001x11001xxxx111xxxxxxxxxxxxx
                                                             stnt1d.  */
                                                          return 2003;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             111001x10101xxxx111xxxxxxxxxxxxx
                                                             st3w.  */
                                                          return 1991;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             111001x11101xxxx111xxxxxxxxxxxxx
                                                             st3d.  */
                                                          return 1987;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 14) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 9) & 0x1) == 0)
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1x000010xxxx0xxxxxxxxx
                                                                 cntp.  */
                                                              return 1413;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 10) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 11) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 12) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             001001x1xx1x100010x0000xxxxxxxxx
                                                                             sqincp.  */
                                                                          return 1922;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             001001x1xx1x100010x1000xxxxxxxxx
                                                                             wrffr.  */
                                                                          return 2096;
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         001001x1xx1x100010xx100xxxxxxxxx
                                                                         sqincp.  */
                                                                      return 1924;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     001001x1xx1x100010xxx10xxxxxxxxx
                                                                     sqincp.  */
                                                                  return 1923;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 11) & 0x1) == 0)
                                                            {
                                                              if (((word >> 12) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     001001x1xx1xx10010x00x0xxxxxxxxx
                                                                     incp.  */
                                                                  return 1551;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     001001x1xx1xx10010x10x0xxxxxxxxx
                                                                     setffr.  */
                                                                  return 1889;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xx10010xx1x0xxxxxxxxx
                                                                 incp.  */
                                                              return 1552;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          if (((word >> 11) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxx1010xx000xxxxxxxxx
                                                                 sqdecp.  */
                                                              return 1908;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxx1010xx100xxxxxxxxx
                                                                 sqdecp.  */
                                                              return 1910;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x1xx1xxx1010xxx10xxxxxxxxx
                                                             sqdecp.  */
                                                          return 1909;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          if (((word >> 17) & 0x1) == 0)
                                                            {
                                                              if (((word >> 18) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     001001x1xx1xx00110xx000xxxxxxxxx
                                                                     uqincp.  */
                                                                  return 2071;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     001001x1xx1xx10110xx000xxxxxxxxx
                                                                     decp.  */
                                                                  return 1426;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxx1110xx000xxxxxxxxx
                                                                 uqdecp.  */
                                                              return 2057;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 17) & 0x1) == 0)
                                                            {
                                                              if (((word >> 18) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     001001x1xx1xx00110xx100xxxxxxxxx
                                                                     uqincp.  */
                                                                  return 2072;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     001001x1xx1xx10110xx100xxxxxxxxx
                                                                     decp.  */
                                                                  return 1427;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx1xxx1110xx100xxxxxxxxx
                                                                 uqdecp.  */
                                                              return 2058;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 17) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x1xx1xxx0110xxx10xxxxxxxxx
                                                             uqincp.  */
                                                          return 2073;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x1xx1xxx1110xxx10xxxxxxxxx
                                                             uqdecp.  */
                                                          return 2059;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 001001x1xx1xxxxx10xxxx1xxxxxxxxx
                                                 cntp.  */
                                              return 2529;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x10x1xxxxx100xxxxxxxxxxxxx
                                                     ld3q.  */
                                                  return 3359;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     101001x11x1xxxxx100xxxxxxxxxxxxx
                                                     ld4q.  */
                                                  return 3360;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x10010xxxx101xxxxxxxxxxxxx
                                                             ld1sh.  */
                                                          return 1644;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x11010xxxx101xxxxxxxxxxxxx
                                                             ld1sb.  */
                                                          return 1631;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x10110xxxx101xxxxxxxxxxxxx
                                                             ld1w.  */
                                                          return 1663;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x11110xxxx101xxxxxxxxxxxxx
                                                             ld1d.  */
                                                          return 1583;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x10011xxxx101xxxxxxxxxxxxx
                                                             ldnf1sh.  */
                                                          return 1777;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x11011xxxx101xxxxxxxxxxxxx
                                                             ldnf1sb.  */
                                                          return 1774;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x10111xxxx101xxxxxxxxxxxxx
                                                             ldnf1w.  */
                                                          return 1780;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             101001x11111xxxx101xxxxxxxxxxxxx
                                                             ldnf1d.  */
                                                          return 1769;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 16) & 0x1) == 0)
                                            {
                                              if (((word >> 17) & 0x1) == 0)
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx10000011xxxxxxxxxxxxxx
                                                                 add.  */
                                                              return 1340;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx11000011xxxxxxxxxxxxxx
                                                                 mul.  */
                                                              return 1810;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx10100011xxxxxxxxxxxxxx
                                                                 smax.  */
                                                              return 1890;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx11100011xxxxxxxxxxxxxx
                                                                 dup.  */
                                                              return 1432;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         001001x1xx1xx10011xxxxxxxxxxxxxx
                                                         sqadd.  */
                                                      return 1899;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         001001x1xx1xx01011xxxxxxxxxxxxxx
                                                         smin.  */
                                                      return 1893;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         001001x1xx1xx11011xxxxxxxxxxxxxx
                                                         sqsub.  */
                                                      return 1929;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 17) & 0x1) == 0)
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x1xx1x000111xxxxxxxxxxxxxx
                                                             sub.  */
                                                          return 2012;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx10100111xxxxxxxxxxxxxx
                                                                 umax.  */
                                                              return 2040;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 001001x1xx11100111xxxxxxxxxxxxxx
                                                                 fdup.  */
                                                              return 1488;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         001001x1xx1xx10111xxxxxxxxxxxxxx
                                                         uqadd.  */
                                                      return 2048;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x1xx1x001111xxxxxxxxxxxxxx
                                                             subr.  */
                                                          return 2014;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             001001x1xx1x101111xxxxxxxxxxxxxx
                                                             umin.  */
                                                          return 2043;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         001001x1xx1xx11111xxxxxxxxxxxxxx
                                                         uqsub.  */
                                                      return 2078;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1001xxxxx110xxxxxxxxxxxxx
                                                         ld2w.  */
                                                      return 1671;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1101xxxxx110xxxxxxxxxxxxx
                                                         ld2d.  */
                                                      return 1667;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1011xxxxx110xxxxxxxxxxxxx
                                                         ld4w.  */
                                                      return 1687;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1111xxxxx110xxxxxxxxxxxxx
                                                         ld4d.  */
                                                      return 1683;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1001xxxxx111xxxxxxxxxxxxx
                                                         ld2w.  */
                                                      return 1672;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1101xxxxx111xxxxxxxxxxxxx
                                                         ld2d.  */
                                                      return 1668;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1011xxxxx111xxxxxxxxxxxxx
                                                         ld4w.  */
                                                      return 1688;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         101001x1111xxxxx111xxxxxxxxxxxxx
                                                         ld4d.  */
                                                      return 1684;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 011001x1xx1xxxxx100xxxxxxxxxxxxx
                                                 fmad.  */
                                              return 1490;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 011001x1xx1xxxxx110xxxxxxxxxxxxx
                                                 fnmad.  */
                                              return 1520;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x1001xxxxx1x0xxxxxxxxxxxxx
                                                     st1w.  */
                                                  return 1966;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x1101xxxxx1x0xxxxxxxxxxxxx
                                                     st1d.  */
                                                  return 1945;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 111001x1x11xxxxx1x0xxxxxxxxxxxxx
                                                 st1w.  */
                                              return 1971;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 011001x1xx1xxxxx101xxxxxxxxxxxxx
                                                 fmsb.  */
                                              return 1511;
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1001xxxxx101xxxxxxxxxxxxx
                                                         st1w.  */
                                                      return 1967;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x1101xxxxx101xxxxxxxxxxxxx
                                                         st1d.  */
                                                      return 1946;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     111001x1x11xxxxx101xxxxxxxxxxxxx
                                                     st1w.  */
                                                  return 1974;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 011001x1xx1xxxxx111xxxxxxxxxxxxx
                                                 fnmsb.  */
                                              return 1523;
                                            }
                                          else
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x10x10xxxx111xxxxxxxxxxxxx
                                                         st1w.  */
                                                      return 1975;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         111001x11x10xxxx111xxxxxxxxxxxxx
                                                         st1d.  */
                                                      return 1949;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             111001x10011xxxx111xxxxxxxxxxxxx
                                                             st2w.  */
                                                          return 1983;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             111001x11011xxxx111xxxxxxxxxxxxx
                                                             st2d.  */
                                                          return 1979;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             111001x10111xxxx111xxxxxxxxxxxxx
                                                             st4w.  */
                                                          return 1999;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             111001x11111xxxx111xxxxxxxxxxxxx
                                                             st4d.  */
                                                          return 1995;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
          else
            {
              if (((word >> 29) & 0x1) == 0)
                {
                  if (((word >> 30) & 0x1) == 0)
                    {
                      if (((word >> 31) & 0x1) == 0)
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             000101xxxxxxxxxxxxxxxxxxxxxxxxxx
                             b.  */
                          return 636;
                        }
                      else
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             100101xxxxxxxxxxxxxxxxxxxxxxxxxx
                             bl.  */
                          return 637;
                        }
                    }
                  else
                    {
                      if (((word >> 24) & 0x1) == 0)
                        {
                          if (((word >> 4) & 0x1) == 0)
                            {
                              if (((word >> 25) & 0x1) == 0)
                                {
                                  if (((word >> 31) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         01010100xxxxxxxxxxxxxxxxxxx0xxxx
                                         b.c.  */
                                      return 657;
                                    }
                                  else
                                    {
                                      if (((word >> 0) & 0x1) == 0)
                                        {
                                          if (((word >> 1) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     11010100xx0xxxxxxxxxxxxxxxx0xx00
                                                     hlt.  */
                                                  return 753;
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         11010100x01xxxxxxxxxxxxxxxx0xx00
                                                         brk.  */
                                                      return 752;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         11010100x11xxxxxxxxxxxxxxxx0xx00
                                                         tcancel.  */
                                                      return 1226;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     11010100xx0xxxxxxxxxxxxxxxx0xx10
                                                     hvc.  */
                                                  return 750;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     11010100xx1xxxxxxxxxxxxxxxx0xx10
                                                     dcps2.  */
                                                  return 756;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 1) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     11010100xx0xxxxxxxxxxxxxxxx0xx01
                                                     svc.  */
                                                  return 749;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     11010100xx1xxxxxxxxxxxxxxxx0xx01
                                                     dcps1.  */
                                                  return 755;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     11010100xx0xxxxxxxxxxxxxxxx0xx11
                                                     smc.  */
                                                  return 751;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     11010100xx1xxxxxxxxxxxxxxxx0xx11
                                                     dcps3.  */
                                                  return 757;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 22) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1010110000xxxxxxxxxxxxxxxx0xxxx
                                                 br.  */
                                              return 638;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1010110100xxxxxxxxxxxxxxxx0xxxx
                                                 eret.  */
                                              return 641;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x1010110x10xxxxxxxxxxxxxxxx0xxxx
                                             ret.  */
                                          return 640;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 23) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x10101100x1xxxxxxxxxxxxxxxx0xxxx
                                             blr.  */
                                          return 639;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x10101101x1xxxxxxxxxxxxxxxx0xxxx
                                             drps.  */
                                          return 642;
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 25) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x1010100xxxxxxxxxxxxxxxxxxx1xxxx
                                     bc.c.  */
                                  return 3204;
                                }
                              else
                                {
                                  if (((word >> 10) & 0x1) == 0)
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1010110000xxxxxxxxxx0xxxxx1xxxx
                                                     braaz.  */
                                                  return 647;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1010110100xxxxxxxxxx0xxxxx1xxxx
                                                     eretaa.  */
                                                  return 653;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1010110x10xxxxxxxxxx0xxxxx1xxxx
                                                 retaa.  */
                                              return 651;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x1010110xx1xxxxxxxxxx0xxxxx1xxxx
                                             blraaz.  */
                                          return 649;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1010110000xxxxxxxxxx1xxxxx1xxxx
                                                     brabz.  */
                                                  return 648;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1010110100xxxxxxxxxx1xxxxx1xxxx
                                                     eretab.  */
                                                  return 654;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1010110x10xxxxxxxxxx1xxxxx1xxxx
                                                 retab.  */
                                              return 652;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x1010110xx1xxxxxxxxxx1xxxxx1xxxx
                                             blrabz.  */
                                          return 650;
                                        }
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 21) & 0x1) == 0)
                            {
                              if (((word >> 22) & 0x1) == 0)
                                {
                                  if (((word >> 25) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         x1010101x00xxxxxxxxxxxxxxxxxxxxx
                                         xaflag.  */
                                      return 811;
                                    }
                                  else
                                    {
                                      if (((word >> 10) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x1010111x00xxxxxxxxxx0xxxxxxxxxx
                                             braa.  */
                                          return 643;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x1010111x00xxxxxxxxxx1xxxxxxxxxx
                                             brab.  */
                                          return 644;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 20) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         x10101x1x100xxxxxxxxxxxxxxxxxxxx
                                         sysp.  */
                                      return 1273;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         x10101x1x101xxxxxxxxxxxxxxxxxxxx
                                         msrr.  */
                                      return 1291;
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 22) & 0x1) == 0)
                                {
                                  if (((word >> 25) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         x1010101x01xxxxxxxxxxxxxxxxxxxxx
                                         tstart.  */
                                      return 1223;
                                    }
                                  else
                                    {
                                      if (((word >> 10) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x1010111x01xxxxxxxxxx0xxxxxxxxxx
                                             blraa.  */
                                          return 645;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x1010111x01xxxxxxxxxx1xxxxxxxxxx
                                             blrab.  */
                                          return 646;
                                        }
                                    }
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     x10101x1x11xxxxxxxxxxxxxxxxxxxxx
                                     mrrs.  */
                                  return 1290;
                                }
                            }
                        }
                    }
                }
              else
                {
                  if (((word >> 24) & 0x1) == 0)
                    {
                      if (((word >> 25) & 0x1) == 0)
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xx110100xxxxxxxxxxxxxxxxxxxxxxxx
                             cbz.  */
                          return 655;
                        }
                      else
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xx110110xxxxxxxxxxxxxxxxxxxxxxxx
                             tbz.  */
                          return 1300;
                        }
                    }
                  else
                    {
                      if (((word >> 25) & 0x1) == 0)
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xx110101xxxxxxxxxxxxxxxxxxxxxxxx
                             cbnz.  */
                          return 656;
                        }
                      else
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xx110111xxxxxxxxxxxxxxxxxxxxxxxx
                             tbnz.  */
                          return 1301;
                        }
                    }
                }
            }
        }
      else
        {
          if (((word >> 25) & 0x1) == 0)
            {
              if (((word >> 28) & 0x1) == 0)
                {
                  if (((word >> 22) & 0x1) == 0)
                    {
                      if (((word >> 23) & 0x1) == 0)
                        {
                          if (((word >> 24) & 0x1) == 0)
                            {
                              if (((word >> 29) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xx00110000xxxxxxxxxxxxxxxxxxxxxx
                                     st4.  */
                                  return 440;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xx10110000xxxxxxxxxxxxxxxxxxxxxx
                                     stnp.  */
                                  return 973;
                                }
                            }
                          else
                            {
                              if (((word >> 29) & 0x1) == 0)
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 16) & 0x1) == 0)
                                        {
                                          if (((word >> 21) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx001101000xxxx0xx0xxxxxxxxxxxxx
                                                 st1.  */
                                              return 456;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx001101001xxxx0xx0xxxxxxxxxxxxx
                                                 st2.  */
                                              return 458;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx00110100xxxxx1xx0xxxxxxxxxxxxx
                                             stl1.  */
                                          return 1202;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx001101000xxxxxxx1xxxxxxxxxxxxx
                                             st3.  */
                                          return 457;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx001101001xxxxxxx1xxxxxxxxxxxxx
                                             st4.  */
                                          return 459;
                                        }
                                    }
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xx10110100xxxxxxxxxxxxxxxxxxxxxx
                                     stp.  */
                                  return 977;
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 21) & 0x1) == 0)
                                {
                                  if (((word >> 24) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx001100100xxxxxxxxxxxxxxxxxxxxx
                                         st4.  */
                                      return 448;
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx001101100xxxxxxx0xxxxxxxxxxxxx
                                             st1.  */
                                          return 468;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx001101100xxxxxxx1xxxxxxxxxxxxx
                                             st3.  */
                                          return 469;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx00110x101xxxxxxx0xxxxxxxxxxxxx
                                         st2.  */
                                      return 470;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx00110x101xxxxxxx1xxxxxxxxxxxxx
                                         st4.  */
                                      return 471;
                                    }
                                }
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xx10110x10xxxxxxxxxxxxxxxxxxxxxx
                                 stp.  */
                              return 983;
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 23) & 0x1) == 0)
                        {
                          if (((word >> 24) & 0x1) == 0)
                            {
                              if (((word >> 29) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xx00110001xxxxxxxxxxxxxxxxxxxxxx
                                     ld4.  */
                                  return 444;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xx10110001xxxxxxxxxxxxxxxxxxxxxx
                                     ldnp.  */
                                  return 974;
                                }
                            }
                          else
                            {
                              if (((word >> 29) & 0x1) == 0)
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 16) & 0x1) == 0)
                                        {
                                          if (((word >> 21) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx001101010xxxx0xx0xxxxxxxxxxxxx
                                                 ld1.  */
                                              return 460;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx001101011xxxx0xx0xxxxxxxxxxxxx
                                                 ld2.  */
                                              return 464;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx00110101xxxxx1xx0xxxxxxxxxxxxx
                                             ldap1.  */
                                          return 1203;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx001101010xxxxxxx1xxxxxxxxxxxxx
                                             ld3.  */
                                          return 461;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx001101011xxxxxxx1xxxxxxxxxxxxx
                                             ld4.  */
                                          return 465;
                                        }
                                    }
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xx10110101xxxxxxxxxxxxxxxxxxxxxx
                                     ldp.  */
                                  return 978;
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 21) & 0x1) == 0)
                                {
                                  if (((word >> 24) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx001100110xxxxxxxxxxxxxxxxxxxxx
                                         ld4.  */
                                      return 452;
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx001101110xxxxxxx0xxxxxxxxxxxxx
                                             ld1.  */
                                          return 472;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx001101110xxxxxxx1xxxxxxxxxxxxx
                                             ld3.  */
                                          return 473;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx00110x111xxxxxxx0xxxxxxxxxxxxx
                                         ld2.  */
                                      return 476;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx00110x111xxxxxxx1xxxxxxxxxxxxx
                                         ld4.  */
                                      return 477;
                                    }
                                }
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xx10110x11xxxxxxxxxxxxxxxxxxxxxx
                                 ldp.  */
                              return 984;
                            }
                        }
                    }
                }
              else
                {
                  if (((word >> 24) & 0x1) == 0)
                    {
                      if (((word >> 29) & 0x1) == 0)
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xx011100xxxxxxxxxxxxxxxxxxxxxxxx
                             ldr.  */
                          return 988;
                        }
                      else
                        {
                          if (((word >> 10) & 0x1) == 0)
                            {
                              if (((word >> 11) & 0x1) == 0)
                                {
                                  if (((word >> 22) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx111100x0xxxxxxxxxx00xxxxxxxxxx
                                         stur.  */
                                      return 925;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx111100x1xxxxxxxxxx00xxxxxxxxxx
                                         ldur.  */
                                      return 926;
                                    }
                                }
                              else
                                {
                                  if (((word >> 22) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx111100x0xxxxxxxxxx10xxxxxxxxxx
                                         str.  */
                                      return 904;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx111100x1xxxxxxxxxx10xxxxxxxxxx
                                         ldr.  */
                                      return 905;
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 22) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xx111100x0xxxxxxxxxxx1xxxxxxxxxx
                                     str.  */
                                  return 873;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xx111100x1xxxxxxxxxxx1xxxxxxxxxx
                                     ldr.  */
                                  return 874;
                                }
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 22) & 0x1) == 0)
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 10) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xx011101x0xxxxxxxxxxx0xxxxxxxxxx
                                     stlur.  */
                                  return 1205;
                                }
                              else
                                {
                                  if (((word >> 12) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110100xxxxxx0000x1xxxxxxxxxx
                                                         cpyp.  */
                                                      return 3132;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110110xxxxxx0000x1xxxxxxxxxx
                                                         cpye.  */
                                                      return 3134;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110100xxxxxx1000x1xxxxxxxxxx
                                                         cpyprn.  */
                                                      return 3138;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110110xxxxxx1000x1xxxxxxxxxx
                                                         cpyern.  */
                                                      return 3140;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110100xxxxxx0100x1xxxxxxxxxx
                                                         cpypwn.  */
                                                      return 3135;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110110xxxxxx0100x1xxxxxxxxxx
                                                         cpyewn.  */
                                                      return 3137;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110100xxxxxx1100x1xxxxxxxxxx
                                                         cpypn.  */
                                                      return 3141;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110110xxxxxx1100x1xxxxxxxxxx
                                                         cpyen.  */
                                                      return 3143;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110100xxxxxx0010x1xxxxxxxxxx
                                                         cpyprt.  */
                                                      return 3156;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110110xxxxxx0010x1xxxxxxxxxx
                                                         cpyert.  */
                                                      return 3158;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110100xxxxxx1010x1xxxxxxxxxx
                                                         cpyprtrn.  */
                                                      return 3162;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110110xxxxxx1010x1xxxxxxxxxx
                                                         cpyertrn.  */
                                                      return 3164;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110100xxxxxx0110x1xxxxxxxxxx
                                                         cpyprtwn.  */
                                                      return 3159;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110110xxxxxx0110x1xxxxxxxxxx
                                                         cpyertwn.  */
                                                      return 3161;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110100xxxxxx1110x1xxxxxxxxxx
                                                         cpyprtn.  */
                                                      return 3165;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110110xxxxxx1110x1xxxxxxxxxx
                                                         cpyertn.  */
                                                      return 3167;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110100xxxxxx0001x1xxxxxxxxxx
                                                         cpypwt.  */
                                                      return 3144;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110110xxxxxx0001x1xxxxxxxxxx
                                                         cpyewt.  */
                                                      return 3146;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110100xxxxxx1001x1xxxxxxxxxx
                                                         cpypwtrn.  */
                                                      return 3150;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110110xxxxxx1001x1xxxxxxxxxx
                                                         cpyewtrn.  */
                                                      return 3152;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110100xxxxxx0101x1xxxxxxxxxx
                                                         cpypwtwn.  */
                                                      return 3147;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110110xxxxxx0101x1xxxxxxxxxx
                                                         cpyewtwn.  */
                                                      return 3149;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110100xxxxxx1101x1xxxxxxxxxx
                                                         cpypwtn.  */
                                                      return 3153;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110110xxxxxx1101x1xxxxxxxxxx
                                                         cpyewtn.  */
                                                      return 3155;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110100xxxxxx0011x1xxxxxxxxxx
                                                         cpypt.  */
                                                      return 3168;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110110xxxxxx0011x1xxxxxxxxxx
                                                         cpyet.  */
                                                      return 3170;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110100xxxxxx1011x1xxxxxxxxxx
                                                         cpyptrn.  */
                                                      return 3174;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110110xxxxxx1011x1xxxxxxxxxx
                                                         cpyetrn.  */
                                                      return 3176;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110100xxxxxx0111x1xxxxxxxxxx
                                                         cpyptwn.  */
                                                      return 3171;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110110xxxxxx0111x1xxxxxxxxxx
                                                         cpyetwn.  */
                                                      return 3173;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110100xxxxxx1111x1xxxxxxxxxx
                                                         cpyptn.  */
                                                      return 3177;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110110xxxxxx1111x1xxxxxxxxxx
                                                         cpyetn.  */
                                                      return 3179;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xx111101x0xxxxxxxxxxxxxxxxxxxxxx
                                 str.  */
                              return 892;
                            }
                        }
                      else
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 10) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xx011101x1xxxxxxxxxxx0xxxxxxxxxx
                                     ldapur.  */
                                  return 1204;
                                }
                              else
                                {
                                  if (((word >> 12) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110101xxxxxx0000x1xxxxxxxxxx
                                                         cpym.  */
                                                      return 3133;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110111xxxxxx0000x1xxxxxxxxxx
                                                         setgp.  */
                                                      return 3192;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110101xxxxxx1000x1xxxxxxxxxx
                                                         cpymrn.  */
                                                      return 3139;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110111xxxxxx1000x1xxxxxxxxxx
                                                         setge.  */
                                                      return 3194;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110101xxxxxx0100x1xxxxxxxxxx
                                                         cpymwn.  */
                                                      return 3136;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110111xxxxxx0100x1xxxxxxxxxx
                                                         setgm.  */
                                                      return 3193;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx011101x1xxxxxx1100x1xxxxxxxxxx
                                                     cpymn.  */
                                                  return 3142;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110101xxxxxx0010x1xxxxxxxxxx
                                                         cpymrt.  */
                                                      return 3157;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110111xxxxxx0010x1xxxxxxxxxx
                                                         setgpn.  */
                                                      return 3198;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110101xxxxxx1010x1xxxxxxxxxx
                                                         cpymrtrn.  */
                                                      return 3163;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110111xxxxxx1010x1xxxxxxxxxx
                                                         setgen.  */
                                                      return 3200;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110101xxxxxx0110x1xxxxxxxxxx
                                                         cpymrtwn.  */
                                                      return 3160;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110111xxxxxx0110x1xxxxxxxxxx
                                                         setgmn.  */
                                                      return 3199;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx011101x1xxxxxx1110x1xxxxxxxxxx
                                                     cpymrtn.  */
                                                  return 3166;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110101xxxxxx0001x1xxxxxxxxxx
                                                         cpymwt.  */
                                                      return 3145;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110111xxxxxx0001x1xxxxxxxxxx
                                                         setgpt.  */
                                                      return 3195;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110101xxxxxx1001x1xxxxxxxxxx
                                                         cpymwtrn.  */
                                                      return 3151;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110111xxxxxx1001x1xxxxxxxxxx
                                                         setget.  */
                                                      return 3197;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110101xxxxxx0101x1xxxxxxxxxx
                                                         cpymwtwn.  */
                                                      return 3148;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110111xxxxxx0101x1xxxxxxxxxx
                                                         setgmt.  */
                                                      return 3196;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx011101x1xxxxxx1101x1xxxxxxxxxx
                                                     cpymwtn.  */
                                                  return 3154;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110101xxxxxx0011x1xxxxxxxxxx
                                                         cpymt.  */
                                                      return 3169;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110111xxxxxx0011x1xxxxxxxxxx
                                                         setgptn.  */
                                                      return 3201;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110101xxxxxx1011x1xxxxxxxxxx
                                                         cpymtrn.  */
                                                      return 3175;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110111xxxxxx1011x1xxxxxxxxxx
                                                         setgetn.  */
                                                      return 3203;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110101xxxxxx0111x1xxxxxxxxxx
                                                         cpymtwn.  */
                                                      return 3172;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx01110111xxxxxx0111x1xxxxxxxxxx
                                                         setgmtn.  */
                                                      return 3202;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx011101x1xxxxxx1111x1xxxxxxxxxx
                                                     cpymtn.  */
                                                  return 3178;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xx111101x1xxxxxxxxxxxxxxxxxxxxxx
                                 ldr.  */
                              return 893;
                            }
                        }
                    }
                }
            }
          else
            {
              if (((word >> 24) & 0x1) == 0)
                {
                  if (((word >> 21) & 0x1) == 0)
                    {
                      if (((word >> 28) & 0x1) == 0)
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 31) & 0x1) == 0)
                                {
                                  if (((word >> 10) & 0x1) == 0)
                                    {
                                      if (((word >> 11) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     0x001110x00xxxxxxxx000xxxxxxxxxx
                                                     tbl.  */
                                                  return 420;
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         0x001110000xxxxxxxx100xxxxxxxxxx
                                                         tbx.  */
                                                      return 421;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         0x001110100xxxxxxxx100xxxxxxxxxx
                                                         luti2.  */
                                                      return 3419;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         0x001110010xxxxxxxx000xxxxxxxxxx
                                                         luti4.  */
                                                      return 3421;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         0x001110010xxxxxxxx100xxxxxxxxxx
                                                         luti4.  */
                                                      return 3422;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     0x001110110xxxxxxxxx00xxxxxxxxxx
                                                     luti2.  */
                                                  return 3420;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     0x001110xx0xxxxxx0x010xxxxxxxxxx
                                                     trn1.  */
                                                  return 263;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     0x001110xx0xxxxxx1x010xxxxxxxxxx
                                                     trn2.  */
                                                  return 266;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         0x001110xx0xxxxxx00110xxxxxxxxxx
                                                         uzp1.  */
                                                      return 262;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         0x001110xx0xxxxxx10110xxxxxxxxxx
                                                         uzp2.  */
                                                      return 265;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         0x001110xx0xxxxxx01110xxxxxxxxxx
                                                         zip1.  */
                                                      return 264;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         0x001110xx0xxxxxx11110xxxxxxxxxx
                                                         zip2.  */
                                                      return 267;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 11) & 0x1) == 0)
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110x00xxxxxx00001xxxxxxxxxx
                                                             dup.  */
                                                          return 149;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x001110010xxxxxx00001xxxxxxxxxx
                                                                 fmaxnm.  */
                                                              return 292;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x001110110xxxxxx00001xxxxxxxxxx
                                                                 fminnm.  */
                                                              return 308;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 00001110x00xxxxxx10001xxxxxxxxxx
                                                                 fmlallbb.  */
                                                              return 3443;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 01001110x00xxxxxx10001xxxxxxxxxx
                                                                 fmlalltb.  */
                                                              return 3445;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 00001110x10xxxxxx10001xxxxxxxxxx
                                                                 fmlallbt.  */
                                                              return 3444;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 01001110x10xxxxxx10001xxxxxxxxxx
                                                                 fmlalltt.  */
                                                              return 3446;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         0x001110xx0xxxxx0x1001xxxxxxxxxx
                                                         fcmeq.  */
                                                      return 300;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         0x001110xx0xxxxx1x1001xxxxxxxxxx
                                                         smmla.  */
                                                      return 3059;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x0011100x0xxxxx0x0101xxxxxxxxxx
                                                             fadd.  */
                                                          return 296;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x0011101x0xxxxx0x0101xxxxxxxxxx
                                                             fsub.  */
                                                          return 312;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         0x001110xx0xxxxx1x0101xxxxxxxxxx
                                                         sdot.  */
                                                      return 2985;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x0011100x0xxxxxx01101xxxxxxxxxx
                                                             fmax.  */
                                                          return 302;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x0011101x0xxxxxx01101xxxxxxxxxx
                                                             fmin.  */
                                                          return 314;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 00001110x00xxxxxx11101xxxxxxxxxx
                                                                 fcvtn.  */
                                                              return 3376;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 01001110x00xxxxxx11101xxxxxxxxxx
                                                                 fcvtn2.  */
                                                              return 3377;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110x10xxxxxx11101xxxxxxxxxx
                                                             fcvtn.  */
                                                          return 3378;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         0x001110x00xxxxxxx0011xxxxxxxxxx
                                                         dup.  */
                                                      return 150;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110010xxxxxxx0011xxxxxxxxxx
                                                             fmla.  */
                                                          return 294;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110110xxxxxxx0011xxxxxxxxxx
                                                             fmls.  */
                                                          return 310;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         0x001110xx0xxxxx0x1011xxxxxxxxxx
                                                         smov.  */
                                                      return 151;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         0x001110xx0xxxxx1x1011xxxxxxxxxx
                                                         usmmla.  */
                                                      return 3061;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110x00xxxxx0x0111xxxxxxxxxx
                                                             ins.  */
                                                          return 154;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x001110010xxxxx0x0111xxxxxxxxxx
                                                                 fmulx.  */
                                                              return 298;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x001110110xxxxx0x0111xxxxxxxxxx
                                                                 famax.  */
                                                              return 1206;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         0x001110xx0xxxxx1x0111xxxxxxxxxx
                                                         usdot.  */
                                                      return 3062;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110x00xxxxxx01111xxxxxxxxxx
                                                             umov.  */
                                                          return 152;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x001110010xxxxxx01111xxxxxxxxxx
                                                                 frecps.  */
                                                              return 304;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x001110110xxxxxx01111xxxxxxxxxx
                                                                 frsqrts.  */
                                                              return 316;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110x00xxxxxx11111xxxxxxxxxx
                                                             fdot.  */
                                                          return 3435;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x001110010xxxxxx11111xxxxxxxxxx
                                                                 fdot.  */
                                                              return 3437;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     00001110110xxxxxx11111xxxxxxxxxx
                                                                     fmlalb.  */
                                                                  return 3439;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     01001110110xxxxxx11111xxxxxxxxxx
                                                                     fmlalt.  */
                                                                  return 3440;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 22) & 0x1) == 0)
                                    {
                                      if (((word >> 23) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x001110000xxxxxxxxxxxxxxxxxxxxx
                                             eor3.  */
                                          return 2992;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x001110100xxxxxxxxxxxxxxxxxxxxx
                                             xar.  */
                                          return 2994;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             1x001110x10xxxxx0xxxxxxxxxxxxxxx
                                             sm3ss1.  */
                                          return 2996;
                                        }
                                      else
                                        {
                                          if (((word >> 10) & 0x1) == 0)
                                            {
                                              if (((word >> 11) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         1x001110010xxxxx1xxx00xxxxxxxxxx
                                                         sm3tt1a.  */
                                                      return 2997;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         1x001110110xxxxx1xxx00xxxxxxxxxx
                                                         sha512su0.  */
                                                      return 2990;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     1x001110x10xxxxx1xxx10xxxxxxxxxx
                                                     sm3tt2a.  */
                                                  return 2999;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 11) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         1x001110010xxxxx1xxx01xxxxxxxxxx
                                                         sm3tt1b.  */
                                                      return 2998;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         1x001110110xxxxx1xxx01xxxxxxxxxx
                                                         sm4e.  */
                                                      return 3003;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     1x001110x10xxxxx1xxx11xxxxxxxxxx
                                                     sm3tt2b.  */
                                                  return 3000;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 10) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xx101110xx0xxxxxxxxxx0xxxxxxxxxx
                                     ext.  */
                                  return 132;
                                }
                              else
                                {
                                  if (((word >> 15) & 0x1) == 0)
                                    {
                                      if (((word >> 22) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx101110x00xxxxx0xxxx1xxxxxxxxxx
                                             ins.  */
                                          return 156;
                                        }
                                      else
                                        {
                                          if (((word >> 11) & 0x1) == 0)
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110010xxxxx0x0001xxxxxxxxxx
                                                             fmaxnmp.  */
                                                          return 343;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110110xxxxx0x0001xxxxxxxxxx
                                                             fminnmp.  */
                                                          return 359;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110010xxxxx0x1001xxxxxxxxxx
                                                             fcmge.  */
                                                          return 349;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110110xxxxx0x1001xxxxxxxxxx
                                                             fcmgt.  */
                                                          return 363;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110010xxxxx0x0101xxxxxxxxxx
                                                             faddp.  */
                                                          return 345;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110110xxxxx0x0101xxxxxxxxxx
                                                             fabd.  */
                                                          return 361;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110010xxxxx0x1101xxxxxxxxxx
                                                             fmaxp.  */
                                                          return 353;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110110xxxxx0x1101xxxxxxxxxx
                                                             fminp.  */
                                                          return 367;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110010xxxxx0xx011xxxxxxxxxx
                                                         facge.  */
                                                      return 351;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110110xxxxx0xx011xxxxxxxxxx
                                                         facgt.  */
                                                      return 365;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110010xxxxx0x0111xxxxxxxxxx
                                                             fmul.  */
                                                          return 347;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110110xxxxx0x0111xxxxxxxxxx
                                                             famin.  */
                                                          return 1208;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110010xxxxx0x1111xxxxxxxxxx
                                                             fdiv.  */
                                                          return 355;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110110xxxxx0x1111xxxxxxxxxx
                                                             fscale.  */
                                                          return 3379;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 11) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx0xxxxx100001xxxxxxxxxx
                                                         sqrdmlah.  */
                                                      return 370;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx0xxxxx100101xxxxxxxxxx
                                                         udot.  */
                                                      return 2984;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx101110xx0xxxxx100x11xxxxxxxxxx
                                                     sqrdmlsh.  */
                                                  return 371;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx101110xx0xxxxx110xx1xxxxxxxxxx
                                                 fcmla.  */
                                              return 372;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 11) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx101110xx0xxxxx101x01xxxxxxxxxx
                                                     ummla.  */
                                                  return 3060;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx101110xx0xxxxx111x01xxxxxxxxxx
                                                     fcadd.  */
                                                  return 373;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx101110xx0xxxxx1x1011xxxxxxxxxx
                                                     bfmmla.  */
                                                  return 3076;
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx1011100x0xxxxx1x1111xxxxxxxxxx
                                                         bfdot.  */
                                                      return 3074;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x01011101x0xxxxx1x1111xxxxxxxxxx
                                                             bfmlalb.  */
                                                          return 3081;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x11011101x0xxxxx1x1111xxxxxxxxxx
                                                             bfmlalt.  */
                                                          return 3080;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 16) & 0x1) == 0)
                                    {
                                      if (((word >> 17) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x0011110xx0xxx00xxxxxxxxxxxxxxxx
                                             fcvtzs.  */
                                          return 764;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x0011110xx0xxx10xxxxxxxxxxxxxxxx
                                             scvtf.  */
                                          return 760;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 17) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x0011110xx0xxx01xxxxxxxxxxxxxxxx
                                             fcvtzu.  */
                                          return 766;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x0011110xx0xxx11xxxxxxxxxxxxxxxx
                                             ucvtf.  */
                                          return 762;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 10) & 0x1) == 0)
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1011110xx0xxxxxx000x0xxxxxxxxxx
                                                     sha1c.  */
                                                  return 678;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1011110xx0xxxxxx100x0xxxxxxxxxx
                                                     sha256h.  */
                                                  return 682;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1011110xx0xxxxxx010x0xxxxxxxxxx
                                                     sha1m.  */
                                                  return 680;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1011110xx0xxxxxx110x0xxxxxxxxxx
                                                     sha256su1.  */
                                                  return 684;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1011110xx0xxxxxx001x0xxxxxxxxxx
                                                     sha1p.  */
                                                  return 679;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1011110xx0xxxxxx101x0xxxxxxxxxx
                                                     sha256h2.  */
                                                  return 683;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1011110xx0xxxxxxx11x0xxxxxxxxxx
                                                 sha1su0.  */
                                              return 681;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 11) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1011110xx0xxxxxxx0x01xxxxxxxxxx
                                                 dup.  */
                                              return 535;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1011110xx0xxxxxxx1x01xxxxxxxxxx
                                                 fcmeq.  */
                                              return 556;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1011110xx0xxxxxxx0x11xxxxxxxxxx
                                                 fmulx.  */
                                              return 554;
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10111100x0xxxxxxx1x11xxxxxxxxxx
                                                     frecps.  */
                                                  return 558;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10111101x0xxxxxxx1x11xxxxxxxxxx
                                                     frsqrts.  */
                                                  return 560;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 11) & 0x1) == 0)
                                {
                                  if (((word >> 12) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx111110xx0xxxxxxx000xxxxxxxxxxx
                                             sqrdmlah.  */
                                          return 588;
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx1111100x0xxxxxxx100xxxxxxxxxxx
                                                 fcmge.  */
                                              return 573;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx1111101x0xxxxxxx100xxxxxxxxxxx
                                                 fcmgt.  */
                                              return 579;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx111110xx0xxxxxxxx10xxxxxxxxxxx
                                         fabd.  */
                                      return 577;
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx111110xx0xxxxxxx0x1xxxxxxxxxxx
                                         sqrdmlsh.  */
                                      return 589;
                                    }
                                  else
                                    {
                                      if (((word >> 23) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx1111100x0xxxxxxx1x1xxxxxxxxxxx
                                             facge.  */
                                          return 575;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx1111101x0xxxxxxx1x1xxxxxxxxxxx
                                             facgt.  */
                                          return 581;
                                        }
                                    }
                                }
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 28) & 0x1) == 0)
                        {
                          if (((word >> 15) & 0x1) == 0)
                            {
                              if (((word >> 29) & 0x1) == 0)
                                {
                                  if (((word >> 31) & 0x1) == 0)
                                    {
                                      if (((word >> 10) & 0x1) == 0)
                                        {
                                          if (((word >> 11) & 0x1) == 0)
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 00001110xx1xxxxx000000xxxxxxxxxx
                                                                 saddl.  */
                                                              return 44;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 01001110xx1xxxxx000000xxxxxxxxxx
                                                                 saddl2.  */
                                                              return 45;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 00001110xx1xxxxx010000xxxxxxxxxx
                                                                 addhn.  */
                                                              return 52;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 01001110xx1xxxxx010000xxxxxxxxxx
                                                                 addhn2.  */
                                                              return 53;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 00001110xx1xxxxx001000xxxxxxxxxx
                                                                 ssubl.  */
                                                              return 48;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 01001110xx1xxxxx001000xxxxxxxxxx
                                                                 ssubl2.  */
                                                              return 49;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 00001110xx1xxxxx011000xxxxxxxxxx
                                                                 subhn.  */
                                                              return 56;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 01001110xx1xxxxx011000xxxxxxxxxx
                                                                 subhn2.  */
                                                              return 57;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 00001110xx1xxxxx000100xxxxxxxxxx
                                                                 saddw.  */
                                                              return 46;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 01001110xx1xxxxx000100xxxxxxxxxx
                                                                 saddw2.  */
                                                              return 47;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 00001110xx1xxxxx010100xxxxxxxxxx
                                                                 sabal.  */
                                                              return 54;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 01001110xx1xxxxx010100xxxxxxxxxx
                                                                 sabal2.  */
                                                              return 55;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 00001110xx1xxxxx001100xxxxxxxxxx
                                                                 ssubw.  */
                                                              return 50;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 01001110xx1xxxxx001100xxxxxxxxxx
                                                                 ssubw2.  */
                                                              return 51;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 00001110xx1xxxxx011100xxxxxxxxxx
                                                                 sabdl.  */
                                                              return 58;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 01001110xx1xxxxx011100xxxxxxxxxx
                                                                 sabdl2.  */
                                                              return 59;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx000010xxxxxxxxxx
                                                             rev64.  */
                                                          return 162;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              if (((word >> 19) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     0x001110xx1x0xx0010010xxxxxxxxxx
                                                                     cls.  */
                                                                  return 166;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     0x001110xx1x1xx0010010xxxxxxxxxx
                                                                     aese.  */
                                                                  return 671;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     00001110xx1xxxx1010010xxxxxxxxxx
                                                                     sqxtn.  */
                                                                  return 176;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     01001110xx1xxxx1010010xxxxxxxxxx
                                                                     sqxtn2.  */
                                                                  return 177;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x001110xx1xxxx0001010xxxxxxxxxx
                                                                 saddlp.  */
                                                              return 164;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     00001110xx1xxxx1001010xxxxxxxxxx
                                                                     xtn.  */
                                                                  return 174;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     01001110xx1xxxx1001010xxxxxxxxxx
                                                                     xtn2.  */
                                                                  return 175;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              if (((word >> 19) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     0x001110xx1x0xx0011010xxxxxxxxxx
                                                                     sadalp.  */
                                                                  return 168;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     0x001110xx1x1xx0011010xxxxxxxxxx
                                                                     aesmc.  */
                                                                  return 673;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000011100x1xxxx1011010xxxxxxxxxx
                                                                         fcvtn.  */
                                                                      return 178;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         010011100x1xxxx1011010xxxxxxxxxx
                                                                         fcvtn2.  */
                                                                      return 179;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         000011101x1xxxx1011010xxxxxxxxxx
                                                                         bfcvtn.  */
                                                                      return 3077;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         010011101x1xxxx1011010xxxxxxxxxx
                                                                         bfcvtn2.  */
                                                                      return 3078;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx000110xxxxxxxxxx
                                                             rev16.  */
                                                          return 163;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x001110xx1x0xxx010110xxxxxxxxxx
                                                                 cnt.  */
                                                              return 167;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x001110xx1x1xxx010110xxxxxxxxxx
                                                                 aesd.  */
                                                              return 672;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x001110xx10xxxx001110xxxxxxxxxx
                                                                 suqadd.  */
                                                              return 165;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x001110xx11xxxx001110xxxxxxxxxx
                                                                 saddlv.  */
                                                              return 29;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              if (((word >> 19) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     0x001110xx1x0xx0011110xxxxxxxxxx
                                                                     sqabs.  */
                                                                  return 169;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     0x001110xx1x1xx0011110xxxxxxxxxx
                                                                     aesimc.  */
                                                                  return 674;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     00001110xx1xxxx1011110xxxxxxxxxx
                                                                     fcvtl.  */
                                                                  return 180;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     01001110xx1xxxx1011110xxxxxxxxxx
                                                                     fcvtl2.  */
                                                                  return 181;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 11) & 0x1) == 0)
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx000001xxxxxxxxxx
                                                             shadd.  */
                                                          return 268;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx010001xxxxxxxxxx
                                                             sshl.  */
                                                          return 275;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx001001xxxxxxxxxx
                                                             shsub.  */
                                                          return 271;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx011001xxxxxxxxxx
                                                             smax.  */
                                                          return 279;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx000101xxxxxxxxxx
                                                             srhadd.  */
                                                          return 270;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx010101xxxxxxxxxx
                                                             srshl.  */
                                                          return 277;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx001101xxxxxxxxxx
                                                             cmgt.  */
                                                          return 273;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx011101xxxxxxxxxx
                                                             sabd.  */
                                                          return 281;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx000011xxxxxxxxxx
                                                             sqadd.  */
                                                          return 269;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx010011xxxxxxxxxx
                                                             sqshl.  */
                                                          return 276;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx001011xxxxxxxxxx
                                                             sqsub.  */
                                                          return 272;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx011011xxxxxxxxxx
                                                             smin.  */
                                                          return 280;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     0x001110001xxxxx000111xxxxxxxxxx
                                                                     and.  */
                                                                  return 305;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     0x001110101xxxxx000111xxxxxxxxxx
                                                                     orr.  */
                                                                  return 317;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     0x001110011xxxxx000111xxxxxxxxxx
                                                                     bic.  */
                                                                  return 306;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     0x001110111xxxxx000111xxxxxxxxxx
                                                                     orn.  */
                                                                  return 319;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx010111xxxxxxxxxx
                                                             sqrshl.  */
                                                          return 278;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 14) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx001111xxxxxxxxxx
                                                             cmge.  */
                                                          return 274;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx011111xxxxxxxxxx
                                                             saba.  */
                                                          return 282;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         1x001110xx1xxxxx0xxxxxxxxxxxxxxx
                                         bcax.  */
                                      return 2995;
                                    }
                                }
                              else
                                {
                                  if (((word >> 10) & 0x1) == 0)
                                    {
                                      if (((word >> 11) & 0x1) == 0)
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0101110xx1xxxxx000000xxxxxxxxxx
                                                             uaddl.  */
                                                          return 76;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1101110xx1xxxxx000000xxxxxxxxxx
                                                             uaddl2.  */
                                                          return 77;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0101110xx1xxxxx010000xxxxxxxxxx
                                                             raddhn.  */
                                                          return 84;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1101110xx1xxxxx010000xxxxxxxxxx
                                                             raddhn2.  */
                                                          return 85;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0101110xx1xxxxx001000xxxxxxxxxx
                                                             usubl.  */
                                                          return 80;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1101110xx1xxxxx001000xxxxxxxxxx
                                                             usubl2.  */
                                                          return 81;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0101110xx1xxxxx011000xxxxxxxxxx
                                                             rsubhn.  */
                                                          return 88;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1101110xx1xxxxx011000xxxxxxxxxx
                                                             rsubhn2.  */
                                                          return 89;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0101110xx1xxxxx000100xxxxxxxxxx
                                                             uaddw.  */
                                                          return 78;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1101110xx1xxxxx000100xxxxxxxxxx
                                                             uaddw2.  */
                                                          return 79;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0101110xx1xxxxx010100xxxxxxxxxx
                                                             uabal.  */
                                                          return 86;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1101110xx1xxxxx010100xxxxxxxxxx
                                                             uabal2.  */
                                                          return 87;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0101110xx1xxxxx001100xxxxxxxxxx
                                                             usubw.  */
                                                          return 82;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1101110xx1xxxxx001100xxxxxxxxxx
                                                             usubw2.  */
                                                          return 83;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0101110xx1xxxxx011100xxxxxxxxxx
                                                             uabdl.  */
                                                          return 90;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1101110xx1xxxxx011100xxxxxxxxxx
                                                             uabdl2.  */
                                                          return 91;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx000010xxxxxxxxxx
                                                         rev32.  */
                                                      return 213;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110xx1xxxx0010010xxxxxxxxxx
                                                             clz.  */
                                                          return 216;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x0101110xx1xxxx1010010xxxxxxxxxx
                                                                 uqxtn.  */
                                                              return 226;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1101110xx1xxxx1010010xxxxxxxxxx
                                                                 uqxtn2.  */
                                                              return 227;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110xx1xxxx0001010xxxxxxxxxx
                                                             uaddlp.  */
                                                          return 214;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x0101110xx1xxxx1001010xxxxxxxxxx
                                                                 sqxtun.  */
                                                              return 222;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1101110xx1xxxx1001010xxxxxxxxxx
                                                                 sqxtun2.  */
                                                              return 223;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110xx1xxxx0011010xxxxxxxxxx
                                                             uadalp.  */
                                                          return 217;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x0101110xx1xxxx1011010xxxxxxxxxx
                                                                 fcvtxn.  */
                                                              return 228;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1101110xx1xxxx1011010xxxxxxxxxx
                                                                 fcvtxn2.  */
                                                              return 229;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110x01xxxxx0x0110xxxxxxxxxx
                                                         not.  */
                                                      return 242;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110x11xxxxx0x0110xxxxxxxxxx
                                                         rbit.  */
                                                      return 244;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx101110xx10xxx0001110xxxxxxxxxx
                                                                 usqadd.  */
                                                              return 215;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx101110xx11xxx0001110xxxxxxxxxx
                                                                 uaddlv.  */
                                                              return 33;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x0101110xx1xxxx1001110xxxxxxxxxx
                                                                 shll.  */
                                                              return 224;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x1101110xx1xxxx1001110xxxxxxxxxx
                                                                 shll2.  */
                                                              return 225;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110xx1xxxx0011110xxxxxxxxxx
                                                             sqneg.  */
                                                          return 218;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x0101110001xxxx1011110xxxxxxxxxx
                                                                         f1cvtl.  */
                                                                      return 3372;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1101110001xxxx1011110xxxxxxxxxx
                                                                         f1cvtl2.  */
                                                                      return 3373;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x0101110101xxxx1011110xxxxxxxxxx
                                                                         bf1cvtl.  */
                                                                      return 3368;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1101110101xxxx1011110xxxxxxxxxx
                                                                         bf1cvtl2.  */
                                                                      return 3369;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x0101110011xxxx1011110xxxxxxxxxx
                                                                         f2cvtl.  */
                                                                      return 3374;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1101110011xxxx1011110xxxxxxxxxx
                                                                         f2cvtl2.  */
                                                                      return 3375;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x0101110111xxxx1011110xxxxxxxxxx
                                                                         bf2cvtl.  */
                                                                      return 3370;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         x1101110111xxxx1011110xxxxxxxxxx
                                                                         bf2cvtl2.  */
                                                                      return 3371;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 11) & 0x1) == 0)
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx000001xxxxxxxxxx
                                                         uhadd.  */
                                                      return 320;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx010001xxxxxxxxxx
                                                         ushl.  */
                                                      return 327;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx001001xxxxxxxxxx
                                                         uhsub.  */
                                                      return 323;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx011001xxxxxxxxxx
                                                         umax.  */
                                                      return 331;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx000101xxxxxxxxxx
                                                         urhadd.  */
                                                      return 322;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx010101xxxxxxxxxx
                                                         urshl.  */
                                                      return 329;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx001101xxxxxxxxxx
                                                         cmhi.  */
                                                      return 325;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx011101xxxxxxxxxx
                                                         uabd.  */
                                                      return 333;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx000011xxxxxxxxxx
                                                         uqadd.  */
                                                      return 321;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx010011xxxxxxxxxx
                                                         uqshl.  */
                                                      return 328;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx001011xxxxxxxxxx
                                                         uqsub.  */
                                                      return 324;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx011011xxxxxxxxxx
                                                         umin.  */
                                                      return 332;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx101110001xxxxx000111xxxxxxxxxx
                                                                 eor.  */
                                                              return 356;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx101110101xxxxx000111xxxxxxxxxx
                                                                 bit.  */
                                                              return 368;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx101110011xxxxx000111xxxxxxxxxx
                                                                 bsl.  */
                                                              return 357;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx101110111xxxxx000111xxxxxxxxxx
                                                                 bif.  */
                                                              return 369;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx010111xxxxxxxxxx
                                                         uqrshl.  */
                                                      return 330;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx001111xxxxxxxxxx
                                                         cmhs.  */
                                                      return 326;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx011111xxxxxxxxxx
                                                         uaba.  */
                                                      return 334;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 10) & 0x1) == 0)
                                {
                                  if (((word >> 11) & 0x1) == 0)
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0001110xx1xxxxx100000xxxxxxxxxx
                                                             smlal.  */
                                                          return 60;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 01001110xx1xxxxx100000xxxxxxxxxx
                                                                 smlal2.  */
                                                              return 61;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 11001110xx1xxxxx100000xxxxxxxxxx
                                                                 sha512h.  */
                                                              return 2988;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0101110xx1xxxxx100000xxxxxxxxxx
                                                             umlal.  */
                                                          return 92;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1101110xx1xxxxx100000xxxxxxxxxx
                                                             umlal2.  */
                                                          return 93;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0001110xx1xxxxx110000xxxxxxxxxx
                                                             smull.  */
                                                          return 68;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 01001110xx1xxxxx110000xxxxxxxxxx
                                                                 smull2.  */
                                                              return 69;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 11001110xx1xxxxx110000xxxxxxxxxx
                                                                 sm3partw1.  */
                                                              return 3001;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0101110xx1xxxxx110000xxxxxxxxxx
                                                             umull.  */
                                                          return 96;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1101110xx1xxxxx110000xxxxxxxxxx
                                                             umull2.  */
                                                          return 97;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0001110xx1xxxxx101000xxxxxxxxxx
                                                             smlsl.  */
                                                          return 64;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1001110xx1xxxxx101000xxxxxxxxxx
                                                             smlsl2.  */
                                                          return 65;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0101110xx1xxxxx101000xxxxxxxxxx
                                                             umlsl.  */
                                                          return 94;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1101110xx1xxxxx101000xxxxxxxxxx
                                                             umlsl2.  */
                                                          return 95;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0x01110x01xxxxx111000xxxxxxxxxx
                                                             pmull.  */
                                                          return 72;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1x01110x01xxxxx111000xxxxxxxxxx
                                                             pmull2.  */
                                                          return 74;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0x01110x11xxxxx111000xxxxxxxxxx
                                                             pmull.  */
                                                          return 73;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1x01110x11xxxxx111000xxxxxxxxxx
                                                             pmull2.  */
                                                          return 75;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x01110xx1xxxxx100100xxxxxxxxxx
                                                         sqdmlal.  */
                                                      return 62;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1x01110xx1xxxxx100100xxxxxxxxxx
                                                         sqdmlal2.  */
                                                      return 63;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x01110xx1xxxxx110100xxxxxxxxxx
                                                         sqdmull.  */
                                                      return 70;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1x01110xx1xxxxx110100xxxxxxxxxx
                                                         sqdmull2.  */
                                                      return 71;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0x01110xx1xxxxx1x1100xxxxxxxxxx
                                                     sqdmlsl.  */
                                                  return 66;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1x01110xx1xxxxx1x1100xxxxxxxxxx
                                                     sqdmlsl2.  */
                                                  return 67;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 31) & 0x1) == 0)
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x001110xx1xxxx0100010xxxxxxxxxx
                                                                 cmgt.  */
                                                              return 170;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 19) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         0x0011100x1x0xx1100010xxxxxxxxxx
                                                                         frintn.  */
                                                                      return 182;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         0x0011101x1x0xx1100010xxxxxxxxxx
                                                                         frintp.  */
                                                                      return 202;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         0x0011100x1x1xx1100010xxxxxxxxxx
                                                                         frintn.  */
                                                                      return 183;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         0x0011101x1x1xx1100010xxxxxxxxxx
                                                                         frintp.  */
                                                                      return 203;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             1x001110xx1xxxxx100010xxxxxxxxxx
                                                             sha512su1.  */
                                                          return 2991;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110xx1xxxx0100010xxxxxxxxxx
                                                             cmge.  */
                                                          return 219;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx101110xx1x0xx1100010xxxxxxxxxx
                                                                 frinta.  */
                                                              return 230;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx101110xx1x1xx1100010xxxxxxxxxx
                                                                 frinta.  */
                                                              return 231;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     0x0011100x1xxxx0110010xxxxxxxxxx
                                                                     fmaxnmv.  */
                                                                  return 37;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 19) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         0x0011100x1x0xx1110010xxxxxxxxxx
                                                                         fcvtas.  */
                                                                      return 190;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         0x0011100x1x1xx1110010xxxxxxxxxx
                                                                         fcvtas.  */
                                                                      return 191;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 1x0011100x1xxxxx110010xxxxxxxxxx
                                                                 sm4ekey.  */
                                                              return 3004;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx1011100x1xxxx0110010xxxxxxxxxx
                                                                 fmaxnmv.  */
                                                              return 36;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 19) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1011100x1x0xx1110010xxxxxxxxxx
                                                                     fcvtau.  */
                                                                  return 238;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1011100x1x1xx1110010xxxxxxxxxx
                                                                     fcvtau.  */
                                                                  return 239;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx0011101x100xx0110010xxxxxxxxxx
                                                                         fcmgt.  */
                                                                      return 194;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx1011101x100xx0110010xxxxxxxxxx
                                                                         fcmge.  */
                                                                      return 245;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx0011101x110xx0110010xxxxxxxxxx
                                                                         fminnmv.  */
                                                                      return 41;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx1011101x110xx0110010xxxxxxxxxx
                                                                         fminnmv.  */
                                                                      return 40;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0011101x1x1xx0110010xxxxxxxxxx
                                                                     fcmgt.  */
                                                                  return 195;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1011101x1x1xx0110010xxxxxxxxxx
                                                                     fcmge.  */
                                                                  return 246;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx0011101x1xxxx1110010xxxxxxxxxx
                                                                 urecpe.  */
                                                              return 210;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx1011101x1xxxx1110010xxxxxxxxxx
                                                                 ursqrte.  */
                                                              return 257;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx01110xx10xxx0101010xxxxxxxxxx
                                                             cmlt.  */
                                                          return 172;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx001110xx11xxx0101010xxxxxxxxxx
                                                                 smaxv.  */
                                                              return 30;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx101110xx11xxx0101010xxxxxxxxxx
                                                                 umaxv.  */
                                                              return 34;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx0011100x100xx1101010xxxxxxxxxx
                                                                         fcvtns.  */
                                                                      return 186;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx1011100x100xx1101010xxxxxxxxxx
                                                                         fcvtnu.  */
                                                                      return 234;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx0011101x100xx1101010xxxxxxxxxx
                                                                         fcvtps.  */
                                                                      return 206;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx1011101x100xx1101010xxxxxxxxxx
                                                                         fcvtpu.  */
                                                                      return 253;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx001110xx110xx1101010xxxxxxxxxx
                                                                     sminv.  */
                                                                  return 31;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx101110xx110xx1101010xxxxxxxxxx
                                                                     uminv.  */
                                                                  return 35;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0011100x1x1xx1101010xxxxxxxxxx
                                                                     fcvtns.  */
                                                                  return 187;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1011100x1x1xx1101010xxxxxxxxxx
                                                                     fcvtnu.  */
                                                                  return 235;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0011101x1x1xx1101010xxxxxxxxxx
                                                                     fcvtps.  */
                                                                  return 207;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1011101x1x1xx1101010xxxxxxxxxx
                                                                     fcvtpu.  */
                                                                  return 254;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx01110xx1x0xx0111010xxxxxxxxxx
                                                             fcmlt.  */
                                                          return 198;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx01110xx1x1xx0111010xxxxxxxxxx
                                                             fcmlt.  */
                                                          return 199;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx001110xx1xxxx1111010xxxxxxxxxx
                                                             frint32z.  */
                                                          return 158;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110xx1xxxx1111010xxxxxxxxxx
                                                             frint32x.  */
                                                          return 159;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx001110xx1xxxx0100110xxxxxxxxxx
                                                             cmeq.  */
                                                          return 171;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110xx1xxxx0100110xxxxxxxxxx
                                                             cmle.  */
                                                          return 220;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0011100x1x0xx1100110xxxxxxxxxx
                                                                     frintm.  */
                                                                  return 184;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1011100x1x0xx1100110xxxxxxxxxx
                                                                     frintx.  */
                                                                  return 232;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0011101x1x0xx1100110xxxxxxxxxx
                                                                     frintz.  */
                                                                  return 204;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1011101x1x0xx1100110xxxxxxxxxx
                                                                     frinti.  */
                                                                  return 251;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0011100x1x1xx1100110xxxxxxxxxx
                                                                     frintm.  */
                                                                  return 185;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1011100x1x1xx1100110xxxxxxxxxx
                                                                     frintx.  */
                                                                  return 233;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0011101x1x1xx1100110xxxxxxxxxx
                                                                     frintz.  */
                                                                  return 205;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1011101x1x1xx1100110xxxxxxxxxx
                                                                     frinti.  */
                                                                  return 252;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx001110xx1x0xx0110110xxxxxxxxxx
                                                                 fcmeq.  */
                                                              return 196;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx101110xx1x0xx0110110xxxxxxxxxx
                                                                 fcmle.  */
                                                              return 247;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx001110xx1x1xx0110110xxxxxxxxxx
                                                                 fcmeq.  */
                                                              return 197;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx101110xx1x1xx0110110xxxxxxxxxx
                                                                 fcmle.  */
                                                              return 248;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0011100x1x0xx1110110xxxxxxxxxx
                                                                     scvtf.  */
                                                                  return 192;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1011100x1x0xx1110110xxxxxxxxxx
                                                                     ucvtf.  */
                                                                  return 240;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0011101x1x0xx1110110xxxxxxxxxx
                                                                     frecpe.  */
                                                                  return 211;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1011101x1x0xx1110110xxxxxxxxxx
                                                                     frsqrte.  */
                                                                  return 258;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0011100x1x1xx1110110xxxxxxxxxx
                                                                     scvtf.  */
                                                                  return 193;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1011100x1x1xx1110110xxxxxxxxxx
                                                                     ucvtf.  */
                                                                  return 241;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0011101x1x1xx1110110xxxxxxxxxx
                                                                     frecpe.  */
                                                                  return 212;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1011101x1x1xx1110110xxxxxxxxxx
                                                                     frsqrte.  */
                                                                  return 259;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx001110xx1xxxx0101110xxxxxxxxxx
                                                             abs.  */
                                                          return 173;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx101110xx1xxxx0101110xxxxxxxxxx
                                                             neg.  */
                                                          return 221;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx0011100x100xx1101110xxxxxxxxxx
                                                                         fcvtms.  */
                                                                      return 188;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx1011100x100xx1101110xxxxxxxxxx
                                                                         fcvtmu.  */
                                                                      return 236;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx0011101x100xx1101110xxxxxxxxxx
                                                                         fcvtzs.  */
                                                                      return 208;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx1011101x100xx1101110xxxxxxxxxx
                                                                         fcvtzu.  */
                                                                      return 255;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxx01110xx110xx1101110xxxxxxxxxx
                                                                 addv.  */
                                                              return 32;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0011100x1x1xx1101110xxxxxxxxxx
                                                                     fcvtms.  */
                                                                  return 189;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1011100x1x1xx1101110xxxxxxxxxx
                                                                     fcvtmu.  */
                                                                  return 237;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0011101x1x1xx1101110xxxxxxxxxx
                                                                     fcvtzs.  */
                                                                  return 209;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1011101x1x1xx1101110xxxxxxxxxx
                                                                     fcvtzu.  */
                                                                  return 256;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx001110xx100xx0111110xxxxxxxxxx
                                                                     fabs.  */
                                                                  return 200;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx101110xx100xx0111110xxxxxxxxxx
                                                                     fneg.  */
                                                                  return 249;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx0011100x110xx0111110xxxxxxxxxx
                                                                         fmaxv.  */
                                                                      return 39;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx1011100x110xx0111110xxxxxxxxxx
                                                                         fmaxv.  */
                                                                      return 38;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx0011101x110xx0111110xxxxxxxxxx
                                                                         fminv.  */
                                                                      return 43;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx1011101x110xx0111110xxxxxxxxxx
                                                                         fminv.  */
                                                                      return 42;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx001110xx1x1xx0111110xxxxxxxxxx
                                                                 fabs.  */
                                                              return 201;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx101110xx1x1xx0111110xxxxxxxxxx
                                                                 fneg.  */
                                                              return 250;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0011100x1x0xx1111110xxxxxxxxxx
                                                                     frint64z.  */
                                                                  return 160;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1011100x1x0xx1111110xxxxxxxxxx
                                                                     frint64x.  */
                                                                  return 161;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxx011101x1x0xx1111110xxxxxxxxxx
                                                                 fsqrt.  */
                                                              return 260;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx01110xx1x1xx1111110xxxxxxxxxx
                                                             fsqrt.  */
                                                          return 261;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 11) & 0x1) == 0)
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 31) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx100001xxxxxxxxxx
                                                             add.  */
                                                          return 283;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             1x001110xx1xxxxx100001xxxxxxxxxx
                                                             sha512h2.  */
                                                          return 2989;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx100001xxxxxxxxxx
                                                         sub.  */
                                                      return 335;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 0x0011100x1xxxxx110001xxxxxxxxxx
                                                                 fmaxnm.  */
                                                              return 291;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 1x0011100x1xxxxx110001xxxxxxxxxx
                                                                 sm3partw2.  */
                                                              return 3002;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1011100x1xxxxx110001xxxxxxxxxx
                                                             fmaxnmp.  */
                                                          return 342;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0011101x1xxxxx110001xxxxxxxxxx
                                                             fminnm.  */
                                                          return 307;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1011101x1xxxxx110001xxxxxxxxxx
                                                             fminnmp.  */
                                                          return 358;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx001110xx1xxxxx101001xxxxxxxxxx
                                                         smaxp.  */
                                                      return 287;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx101001xxxxxxxxxx
                                                         umaxp.  */
                                                      return 339;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0011100x1xxxxx111001xxxxxxxxxx
                                                             fcmeq.  */
                                                          return 299;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1011100x1xxxxx111001xxxxxxxxxx
                                                             fcmge.  */
                                                          return 348;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx011101x1xxxxx111001xxxxxxxxxx
                                                         fcmgt.  */
                                                      return 362;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx001110xx1xxxxx100101xxxxxxxxxx
                                                         mla.  */
                                                      return 285;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx100101xxxxxxxxxx
                                                         mls.  */
                                                      return 337;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0011100x1xxxxx110101xxxxxxxxxx
                                                             fadd.  */
                                                          return 295;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1011100x1xxxxx110101xxxxxxxxxx
                                                             faddp.  */
                                                          return 344;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0011101x1xxxxx110101xxxxxxxxxx
                                                             fsub.  */
                                                          return 311;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1011101x1xxxxx110101xxxxxxxxxx
                                                             fabd.  */
                                                          return 360;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx001110xx1xxxxx101101xxxxxxxxxx
                                                         sqdmulh.  */
                                                      return 289;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx101101xxxxxxxxxx
                                                         sqrdmulh.  */
                                                      return 341;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0011100x1xxxxx111101xxxxxxxxxx
                                                             fmax.  */
                                                          return 301;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1011100x1xxxxx111101xxxxxxxxxx
                                                             fmaxp.  */
                                                          return 352;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0011101x1xxxxx111101xxxxxxxxxx
                                                             fmin.  */
                                                          return 313;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1011101x1xxxxx111101xxxxxxxxxx
                                                             fminp.  */
                                                          return 366;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 31) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             0x001110xx1xxxxx100011xxxxxxxxxx
                                                             cmtst.  */
                                                          return 284;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             1x001110xx1xxxxx100011xxxxxxxxxx
                                                             rax1.  */
                                                          return 2993;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx100011xxxxxxxxxx
                                                         cmeq.  */
                                                      return 336;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0011100x1xxxxx110011xxxxxxxxxx
                                                             fmla.  */
                                                          return 293;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x01011100x1xxxxx110011xxxxxxxxxx
                                                                 fmlal2.  */
                                                              return 3007;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x11011100x1xxxxx110011xxxxxxxxxx
                                                                 fmlal2.  */
                                                              return 3011;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0011101x1xxxxx110011xxxxxxxxxx
                                                             fmls.  */
                                                          return 309;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x01011101x1xxxxx110011xxxxxxxxxx
                                                                 fmlsl2.  */
                                                              return 3008;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x11011101x1xxxxx110011xxxxxxxxxx
                                                                 fmlsl2.  */
                                                              return 3012;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx001110xx1xxxxx101011xxxxxxxxxx
                                                         sminp.  */
                                                      return 288;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx101011xxxxxxxxxx
                                                         uminp.  */
                                                      return 340;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x00011100x1xxxxx111011xxxxxxxxxx
                                                                 fmlal.  */
                                                              return 3005;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x10011100x1xxxxx111011xxxxxxxxxx
                                                                 fmlal.  */
                                                              return 3009;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1011100x1xxxxx111011xxxxxxxxxx
                                                             facge.  */
                                                          return 350;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x00011101x1xxxxx111011xxxxxxxxxx
                                                                 fmlsl.  */
                                                              return 3006;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 x10011101x1xxxxx111011xxxxxxxxxx
                                                                 fmlsl.  */
                                                              return 3010;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1011101x1xxxxx111011xxxxxxxxxx
                                                             facgt.  */
                                                          return 364;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx001110xx1xxxxx100111xxxxxxxxxx
                                                         mul.  */
                                                      return 286;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx101110xx1xxxxx100111xxxxxxxxxx
                                                         pmul.  */
                                                      return 338;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0011100x1xxxxx110111xxxxxxxxxx
                                                             fmulx.  */
                                                          return 297;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1011100x1xxxxx110111xxxxxxxxxx
                                                             fmul.  */
                                                          return 346;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0011101x1xxxxx110111xxxxxxxxxx
                                                             famax.  */
                                                          return 1207;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1011101x1xxxxx110111xxxxxxxxxx
                                                             famin.  */
                                                          return 1209;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxx01110xx1xxxxx101111xxxxxxxxxx
                                                     addp.  */
                                                  return 290;
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0011100x1xxxxx111111xxxxxxxxxx
                                                             frecps.  */
                                                          return 303;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1011100x1xxxxx111111xxxxxxxxxx
                                                             fdiv.  */
                                                          return 354;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx0011101x1xxxxx111111xxxxxxxxxx
                                                             frsqrts.  */
                                                          return 315;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx1011101x1xxxxx111111xxxxxxxxxx
                                                             fscale.  */
                                                          return 3380;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 10) & 0x1) == 0)
                            {
                              if (((word >> 11) & 0x1) == 0)
                                {
                                  if (((word >> 12) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx100000x00000xxxxxxxxxx
                                                                     fcvtns.  */
                                                                  return 768;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx110000x00000xxxxxxxxxx
                                                                     fcvtms.  */
                                                                  return 788;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx101000x00000xxxxxxxxxx
                                                                     fcvtps.  */
                                                                  return 784;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx111000x00000xxxxxxxxxx
                                                                     fcvtzs.  */
                                                                  return 792;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx11110xx1xx100x00000xxxxxxxxxx
                                                             fcvtas.  */
                                                          return 776;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx11110xx1xx010x00000xxxxxxxxxx
                                                             scvtf.  */
                                                          return 772;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxx11110xx1x0110x00000xxxxxxxxxx
                                                                 fmov.  */
                                                              return 780;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx101110x00000xxxxxxxxxx
                                                                     fmov.  */
                                                                  return 796;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx111110x00000xxxxxxxxxx
                                                                     fjcvtzs.  */
                                                                  return 798;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx100001x00000xxxxxxxxxx
                                                                     fcvtnu.  */
                                                                  return 770;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx110001x00000xxxxxxxxxx
                                                                     fcvtmu.  */
                                                                  return 790;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx101001x00000xxxxxxxxxx
                                                                     fcvtpu.  */
                                                                  return 786;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx111001x00000xxxxxxxxxx
                                                                     fcvtzu.  */
                                                                  return 794;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx11110xx1xx101x00000xxxxxxxxxx
                                                             fcvtau.  */
                                                          return 778;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx11110xx1xx011x00000xxxxxxxxxx
                                                             ucvtf.  */
                                                          return 774;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxx11110xx1x0111x00000xxxxxxxxxx
                                                                 fmov.  */
                                                              return 782;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxx11110xx1x1111x00000xxxxxxxxxx
                                                                 fmov.  */
                                                              return 797;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 17) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              if (((word >> 19) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx1x0000010000xxxxxxxxxx
                                                                     fmov.  */
                                                                  return 817;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx1x1000010000xxxxxxxxxx
                                                                     frint32z.  */
                                                                  return 813;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxx11110xx1xx100010000xxxxxxxxxx
                                                                 frintn.  */
                                                              return 826;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              if (((word >> 19) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx1x0001010000xxxxxxxxxx
                                                                     fneg.  */
                                                                  return 821;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx1x1001010000xxxxxxxxxx
                                                                     frint64z.  */
                                                                  return 815;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxx11110xx1xx101010000xxxxxxxxxx
                                                                 frintm.  */
                                                              return 830;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              if (((word >> 19) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx1x0000110000xxxxxxxxxx
                                                                     fabs.  */
                                                                  return 819;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx1x1000110000xxxxxxxxxx
                                                                     frint32x.  */
                                                                  return 814;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxx11110xx1xx100110000xxxxxxxxxx
                                                                 frintp.  */
                                                              return 828;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              if (((word >> 19) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx1x0001110000xxxxxxxxxx
                                                                     fsqrt.  */
                                                                  return 823;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxx11110xx1x1001110000xxxxxxxxxx
                                                                     frint64x.  */
                                                                  return 816;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxx11110xx1xx101110000xxxxxxxxxx
                                                                 frintz.  */
                                                              return 832;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx11110xx1xx01xx10000xxxxxxxxxx
                                                         fcvt.  */
                                                      return 825;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxx11110xx1xx110010000xxxxxxxxxx
                                                                 frinta.  */
                                                              return 834;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxx11110xx1xx111010000xxxxxxxxxx
                                                                 frintx.  */
                                                              return 836;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx11110xx1xx11x110000xxxxxxxxxx
                                                             frinti.  */
                                                          return 838;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 3) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxx11110xx1xxxxxxx1000xxxxx00xxx
                                                     fcmp.  */
                                                  return 803;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxx11110xx1xxxxxxx1000xxxxx10xxx
                                                     fcmpe.  */
                                                  return 805;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxx11110xx1xxxxxxx1000xxxxx01xxx
                                                     fcmp.  */
                                                  return 807;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxx11110xx1xxxxxxx1000xxxxx11xxx
                                                     fcmpe.  */
                                                  return 809;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x0x11110xx1xxxxxxxx100xxxxxxxxxx
                                             fmov.  */
                                          return 866;
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1x11110xx1xxxxxx00100xxxxxxxxxx
                                                     sqdmlal.  */
                                                  return 422;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1x11110xx1xxxxxx10100xxxxxxxxxx
                                                     sqdmull.  */
                                                  return 424;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1x11110xx1xxxxxxx1100xxxxxxxxxx
                                                 sqdmlsl.  */
                                              return 423;
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 12) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x11110xx1xxxxx000010xxxxxxxxxx
                                                         fmul.  */
                                                      return 840;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1x11110xx1xxxxx000010xxxxxxxxxx
                                                         sha1h.  */
                                                      return 675;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0011110xx1xxxxx100010xxxxxxxxxx
                                                             fnmul.  */
                                                          return 856;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1011110xx1xxxxx100010xxxxxxxxxx
                                                             cmgt.  */
                                                          return 482;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx111110xx1xxxxx100010xxxxxxxxxx
                                                         cmge.  */
                                                      return 511;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0011110xx1xxxxx010010xxxxxxxxxx
                                                             fmax.  */
                                                          return 848;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1011110xx1xxxxx010010xxxxxxxxxx
                                                             sqxtn.  */
                                                          return 486;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx111110xx1xxxxx010010xxxxxxxxxx
                                                         uqxtn.  */
                                                      return 515;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx011110xx100xx0110010xxxxxxxxxx
                                                                     fcmgt.  */
                                                                  return 495;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx111110xx100xx0110010xxxxxxxxxx
                                                                     fcmge.  */
                                                                  return 525;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx0111100x110xx0110010xxxxxxxxxx
                                                                         fmaxnmp.  */
                                                                      return 539;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx1111100x110xx0110010xxxxxxxxxx
                                                                         fmaxnmp.  */
                                                                      return 538;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx0111101x110xx0110010xxxxxxxxxx
                                                                         fminnmp.  */
                                                                      return 545;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx1111101x110xx0110010xxxxxxxxxx
                                                                         fminnmp.  */
                                                                      return 544;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011110xx1x1xx0110010xxxxxxxxxx
                                                                 fcmgt.  */
                                                              return 496;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx111110xx1x1xx0110010xxxxxxxxxx
                                                                 fcmge.  */
                                                              return 526;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011110xx1x0xx1110010xxxxxxxxxx
                                                                 fcvtas.  */
                                                              return 491;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx111110xx1x0xx1110010xxxxxxxxxx
                                                                 fcvtau.  */
                                                              return 521;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011110xx1x1xx1110010xxxxxxxxxx
                                                                 fcvtas.  */
                                                              return 492;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx111110xx1x1xx1110010xxxxxxxxxx
                                                                 fcvtau.  */
                                                              return 522;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0011110xx1xxxxx001010xxxxxxxxxx
                                                             fadd.  */
                                                          return 844;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1011110xx1xxxxx001010xxxxxxxxxx
                                                             sha256su0.  */
                                                          return 677;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx111110xx1xxxxx001010xxxxxxxxxx
                                                         sqxtun.  */
                                                      return 514;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx11110xx1xxxx0101010xxxxxxxxxx
                                                         cmlt.  */
                                                      return 484;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0111100x1x0xx1101010xxxxxxxxxx
                                                                     fcvtns.  */
                                                                  return 487;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1111100x1x0xx1101010xxxxxxxxxx
                                                                     fcvtnu.  */
                                                                  return 517;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0111101x1x0xx1101010xxxxxxxxxx
                                                                     fcvtps.  */
                                                                  return 501;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1111101x1x0xx1101010xxxxxxxxxx
                                                                     fcvtpu.  */
                                                                  return 529;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0111100x1x1xx1101010xxxxxxxxxx
                                                                     fcvtns.  */
                                                                  return 488;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1111100x1x1xx1101010xxxxxxxxxx
                                                                     fcvtnu.  */
                                                                  return 518;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0111101x1x1xx1101010xxxxxxxxxx
                                                                     fcvtps.  */
                                                                  return 502;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1111101x1x1xx1101010xxxxxxxxxx
                                                                     fcvtpu.  */
                                                                  return 530;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx011110xx1xxxxx011010xxxxxxxxxx
                                                         fmaxnm.  */
                                                      return 852;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx111110xx1xxxxx011010xxxxxxxxxx
                                                         fcvtxn.  */
                                                      return 516;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 19) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx11110xx1x0xxx111010xxxxxxxxxx
                                                         fcmlt.  */
                                                      return 499;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxx11110xx1x1xxx111010xxxxxxxxxx
                                                         fcmlt.  */
                                                      return 500;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0x11110xx1xxxxx000110xxxxxxxxxx
                                                         fdiv.  */
                                                      return 842;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1x11110xx1xxxxx000110xxxxxxxxxx
                                                         sha1su1.  */
                                                      return 676;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx011110xx1xxxxx100110xxxxxxxxxx
                                                         cmeq.  */
                                                      return 483;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx111110xx1xxxxx100110xxxxxxxxxx
                                                         cmle.  */
                                                      return 512;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxx11110xx1xxxxx010110xxxxxxxxxx
                                                     fmin.  */
                                                  return 850;
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx011110xx100xx0110110xxxxxxxxxx
                                                                     fcmeq.  */
                                                                  return 497;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx111110xx100xx0110110xxxxxxxxxx
                                                                     fcmle.  */
                                                                  return 527;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx011110xx110xx0110110xxxxxxxxxx
                                                                     faddp.  */
                                                                  return 541;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx111110xx110xx0110110xxxxxxxxxx
                                                                     faddp.  */
                                                                  return 540;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx011110xx1x1xx0110110xxxxxxxxxx
                                                                 fcmeq.  */
                                                              return 498;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx111110xx1x1xx0110110xxxxxxxxxx
                                                                 fcmle.  */
                                                              return 528;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0111100x1x0xx1110110xxxxxxxxxx
                                                                     scvtf.  */
                                                                  return 493;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1111100x1x0xx1110110xxxxxxxxxx
                                                                     ucvtf.  */
                                                                  return 523;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0111101x1x0xx1110110xxxxxxxxxx
                                                                     frecpe.  */
                                                                  return 505;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1111101x1x0xx1110110xxxxxxxxxx
                                                                     frsqrte.  */
                                                                  return 533;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0111100x1x1xx1110110xxxxxxxxxx
                                                                     scvtf.  */
                                                                  return 494;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1111100x1x1xx1110110xxxxxxxxxx
                                                                     ucvtf.  */
                                                                  return 524;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0111101x1x1xx1110110xxxxxxxxxx
                                                                     frecpe.  */
                                                                  return 506;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1111101x1x1xx1110110xxxxxxxxxx
                                                                     frsqrte.  */
                                                                  return 534;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0011110xx1xxxxx001110xxxxxxxxxx
                                                             fsub.  */
                                                          return 846;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1011110xx1xxxxx001110xxxxxxxxxx
                                                             suqadd.  */
                                                          return 480;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx111110xx1xxxxx001110xxxxxxxxxx
                                                         usqadd.  */
                                                      return 509;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx011110xx1xxxx0101110xxxxxxxxxx
                                                             abs.  */
                                                          return 485;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xx111110xx1xxxx0101110xxxxxxxxxx
                                                             neg.  */
                                                          return 513;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx0111100x100xx1101110xxxxxxxxxx
                                                                         fcvtms.  */
                                                                      return 489;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx1111100x100xx1101110xxxxxxxxxx
                                                                         fcvtmu.  */
                                                                      return 519;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx0111101x100xx1101110xxxxxxxxxx
                                                                         fcvtzs.  */
                                                                      return 503;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xx1111101x100xx1101110xxxxxxxxxx
                                                                         fcvtzu.  */
                                                                      return 531;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxx11110xx110xx1101110xxxxxxxxxx
                                                                 addp.  */
                                                              return 537;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0111100x1x1xx1101110xxxxxxxxxx
                                                                     fcvtms.  */
                                                                  return 490;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1111100x1x1xx1101110xxxxxxxxxx
                                                                     fcvtmu.  */
                                                                  return 520;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx0111101x1x1xx1101110xxxxxxxxxx
                                                                     fcvtzs.  */
                                                                  return 504;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xx1111101x1x1xx1101110xxxxxxxxxx
                                                                     fcvtzu.  */
                                                                  return 532;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x0011110xx1xxxxx011110xxxxxxxxxx
                                                             fminnm.  */
                                                          return 854;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1011110xx1xxxxx011110xxxxxxxxxx
                                                             sqabs.  */
                                                          return 481;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx111110xx1xxxxx011110xxxxxxxxxx
                                                         sqneg.  */
                                                      return 510;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx0111100x1xxxx0111110xxxxxxxxxx
                                                                 fmaxp.  */
                                                              return 543;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx1111100x1xxxx0111110xxxxxxxxxx
                                                                 fmaxp.  */
                                                              return 542;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx0111101x1xxxx0111110xxxxxxxxxx
                                                                 fminp.  */
                                                              return 547;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xx1111101x1xxxx0111110xxxxxxxxxx
                                                                 fminp.  */
                                                              return 546;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx11110xx1x0xx1111110xxxxxxxxxx
                                                             frecpx.  */
                                                          return 507;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx11110xx1x1xx1111110xxxxxxxxxx
                                                             frecpx.  */
                                                          return 508;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 11) & 0x1) == 0)
                                {
                                  if (((word >> 29) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 4) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0011110xx1xxxxxxxxx01xxxxx0xxxx
                                                 fccmp.  */
                                              return 799;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0011110xx1xxxxxxxxx01xxxxx1xxxx
                                                 fccmpe.  */
                                              return 801;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1011110xx1xxxxxx00001xxxxxxxxxx
                                                         add.  */
                                                      return 565;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1011110xx1xxxxxx10001xxxxxxxxxx
                                                         sshl.  */
                                                      return 563;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1011110xx1xxxxxxx1001xxxxxxxxxx
                                                     fcmeq.  */
                                                  return 555;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1011110xx1xxxxxxx0101xxxxxxxxxx
                                                     srshl.  */
                                                  return 564;
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1011110xx1xxxxx0x1101xxxxxxxxxx
                                                         cmgt.  */
                                                      return 561;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1011110xx1xxxxx1x1101xxxxxxxxxx
                                                         sqdmulh.  */
                                                      return 552;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx111110xx1xxxxxx00001xxxxxxxxxx
                                                     sub.  */
                                                  return 586;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx111110xx1xxxxxx10001xxxxxxxxxx
                                                     ushl.  */
                                                  return 584;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx1111100x1xxxxxxx1001xxxxxxxxxx
                                                     fcmge.  */
                                                  return 572;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx1111101x1xxxxxxx1001xxxxxxxxxx
                                                     fcmgt.  */
                                                  return 578;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx111110xx1xxxxx0x0101xxxxxxxxxx
                                                     urshl.  */
                                                  return 585;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx111110xx1xxxxx1x0101xxxxxxxxxx
                                                     fabd.  */
                                                  return 576;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx111110xx1xxxxx0x1101xxxxxxxxxx
                                                     cmhi.  */
                                                  return 582;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx111110xx1xxxxx1x1101xxxxxxxxxx
                                                     sqrdmulh.  */
                                                  return 571;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 29) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x0011110xx1xxxxxxxxx11xxxxxxxxxx
                                             fcsel.  */
                                          return 868;
                                        }
                                      else
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1011110xx1xxxxx000011xxxxxxxxxx
                                                             sqadd.  */
                                                          return 548;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x1011110xx1xxxxx100011xxxxxxxxxx
                                                             cmtst.  */
                                                          return 566;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1011110xx1xxxxxx10011xxxxxxxxxx
                                                         sqshl.  */
                                                      return 550;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1011110xx1xxxxxxx1011xxxxxxxxxx
                                                     sqsub.  */
                                                  return 549;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1011110xx1xxxxx0x0111xxxxxxxxxx
                                                         sqrshl.  */
                                                      return 551;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1011110xx1xxxxx1x0111xxxxxxxxxx
                                                         fmulx.  */
                                                      return 553;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1011110xx1xxxxxx01111xxxxxxxxxx
                                                         cmge.  */
                                                      return 562;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x10111100x1xxxxxx11111xxxxxxxxxx
                                                             frecps.  */
                                                          return 557;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x10111101x1xxxxxx11111xxxxxxxxxx
                                                             frsqrts.  */
                                                          return 559;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx111110xx1xxxxx000011xxxxxxxxxx
                                                         uqadd.  */
                                                      return 567;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx111110xx1xxxxx100011xxxxxxxxxx
                                                         cmeq.  */
                                                      return 587;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx111110xx1xxxxxx10011xxxxxxxxxx
                                                     uqshl.  */
                                                  return 569;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx111110xx1xxxxxx01011xxxxxxxxxx
                                                     uqsub.  */
                                                  return 568;
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx1111100x1xxxxxx11011xxxxxxxxxx
                                                         facge.  */
                                                      return 574;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx1111101x1xxxxxx11011xxxxxxxxxx
                                                         facgt.  */
                                                      return 580;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx111110xx1xxxxxxx0111xxxxxxxxxx
                                                 uqrshl.  */
                                              return 570;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx111110xx1xxxxxxx1111xxxxxxxxxx
                                                 cmhs.  */
                                              return 583;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
              else
                {
                  if (((word >> 15) & 0x1) == 0)
                    {
                      if (((word >> 28) & 0x1) == 0)
                        {
                          if (((word >> 10) & 0x1) == 0)
                            {
                              if (((word >> 12) & 0x1) == 0)
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx00111100xxxxxx0000x0xxxxxxxxxx
                                                         fdot.  */
                                                      return 3436;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x000111110xxxxxx0000x0xxxxxxxxxx
                                                             fmlal.  */
                                                          return 3013;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x100111110xxxxxx0000x0xxxxxxxxxx
                                                             fmlal.  */
                                                          return 3017;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx00111101xxxxxx0000x0xxxxxxxxxx
                                                         fdot.  */
                                                      return 3438;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x000111111xxxxxx0000x0xxxxxxxxxx
                                                             fmlalb.  */
                                                          return 3441;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x100111111xxxxxx0000x0xxxxxxxxxx
                                                             fmlalt.  */
                                                          return 3442;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx101111xxxxxxxx0000x0xxxxxxxxxx
                                                 mla.  */
                                              return 119;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0001111xxxxxxxx0100x0xxxxxxxxxx
                                                     fmlsl.  */
                                                  return 3014;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1001111xxxxxxxx0100x0xxxxxxxxxx
                                                     fmlsl.  */
                                                  return 3018;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx101111xxxxxxxx0100x0xxxxxxxxxx
                                                 mls.  */
                                              return 122;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0001111xxxxxxxx0010x0xxxxxxxxxx
                                                     smlal.  */
                                                  return 98;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1001111xxxxxxxx0010x0xxxxxxxxxx
                                                     smlal2.  */
                                                  return 99;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0101111xxxxxxxx0010x0xxxxxxxxxx
                                                     umlal.  */
                                                  return 120;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1101111xxxxxxxx0010x0xxxxxxxxxx
                                                     umlal2.  */
                                                  return 121;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0001111xxxxxxxx0110x0xxxxxxxxxx
                                                     smlsl.  */
                                                  return 102;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1001111xxxxxxxx0110x0xxxxxxxxxx
                                                     smlsl2.  */
                                                  return 103;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0101111xxxxxxxx0110x0xxxxxxxxxx
                                                     umlsl.  */
                                                  return 123;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1101111xxxxxxxx0110x0xxxxxxxxxx
                                                     umlsl2.  */
                                                  return 124;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 29) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx0011110xxxxxxx0001x0xxxxxxxxxx
                                                     fmla.  */
                                                  return 114;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx0011111xxxxxxx0001x0xxxxxxxxxx
                                                     fmla.  */
                                                  return 113;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx0011110xxxxxxx0101x0xxxxxxxxxx
                                                     fmls.  */
                                                  return 116;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx0011111xxxxxxx0101x0xxxxxxxxxx
                                                     fmls.  */
                                                  return 115;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0001111xxxxxxxx0011x0xxxxxxxxxx
                                                     sqdmlal.  */
                                                  return 100;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1001111xxxxxxxx0011x0xxxxxxxxxx
                                                     sqdmlal2.  */
                                                  return 101;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0001111xxxxxxxx0111x0xxxxxxxxxx
                                                     sqdmlsl.  */
                                                  return 104;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1001111xxxxxxxx0111x0xxxxxxxxxx
                                                     sqdmlsl2.  */
                                                  return 105;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx101111xxxxxxxx0xx1x0xxxxxxxxxx
                                         fcmla.  */
                                      return 131;
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 12) & 0x1) == 0)
                                {
                                  if (((word >> 29) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx001111xxxxxxxx0xx0x1xxxxxxxxxx
                                         movi.  */
                                      return 133;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx101111xxxxxxxx0xx0x1xxxxxxxxxx
                                         mvni.  */
                                      return 141;
                                    }
                                }
                              else
                                {
                                  if (((word >> 29) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx001111xxxxxxxx0xx1x1xxxxxxxxxx
                                         orr.  */
                                      return 134;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx101111xxxxxxxx0xx1x1xxxxxxxxxx
                                         bic.  */
                                      return 142;
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         x0011111xx0xxxxx0xxxxxxxxxxxxxxx
                                         fmadd.  */
                                      return 858;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         x0011111xx1xxxxx0xxxxxxxxxxxxxxx
                                         fnmadd.  */
                                      return 862;
                                    }
                                }
                              else
                                {
                                  if (((word >> 10) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10111110xxxxxxx000xx0xxxxxxxxxx
                                                     fmla.  */
                                                  return 431;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10111111xxxxxxx000xx0xxxxxxxxxx
                                                     fmla.  */
                                                  return 430;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10111110xxxxxxx010xx0xxxxxxxxxx
                                                     fmls.  */
                                                  return 433;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x10111111xxxxxxx010xx0xxxxxxxxxx
                                                     fmls.  */
                                                  return 432;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1011111xxxxxxxx001xx0xxxxxxxxxx
                                                 sqdmlal.  */
                                              return 425;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1011111xxxxxxxx011xx0xxxxxxxxxx
                                                 sqdmlsl.  */
                                              return 426;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1011111xxxxxxxx0x00x1xxxxxxxxxx
                                                 sshr.  */
                                              return 590;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1011111xxxxxxxx0x10x1xxxxxxxxxx
                                                 srshr.  */
                                              return 592;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1011111xxxxxxxx0001x1xxxxxxxxxx
                                                     ssra.  */
                                                  return 591;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1011111xxxxxxxx0101x1xxxxxxxxxx
                                                     shl.  */
                                                  return 594;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1011111xxxxxxxx0011x1xxxxxxxxxx
                                                     srsra.  */
                                                  return 593;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1011111xxxxxxxx0111x1xxxxxxxxxx
                                                     sqshl.  */
                                                  return 595;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 12) & 0x1) == 0)
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx111111xxxxxxxx0000xxxxxxxxxxxx
                                             ushr.  */
                                          return 602;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx111111xxxxxxxx0100xxxxxxxxxxxx
                                             sri.  */
                                          return 606;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx111111xxxxxxxx0010xxxxxxxxxxxx
                                             urshr.  */
                                          return 604;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx111111xxxxxxxx0110xxxxxxxxxxxx
                                             sqshlu.  */
                                          return 608;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx111111xxxxxxxx0001xxxxxxxxxxxx
                                             usra.  */
                                          return 603;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx111111xxxxxxxx0101xxxxxxxxxxxx
                                             sli.  */
                                          return 607;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx111111xxxxxxxx0011xxxxxxxxxxxx
                                             ursra.  */
                                          return 605;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx111111xxxxxxxx0111xxxxxxxxxxxx
                                             uqshl.  */
                                          return 609;
                                        }
                                    }
                                }
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 28) & 0x1) == 0)
                        {
                          if (((word >> 10) & 0x1) == 0)
                            {
                              if (((word >> 12) & 0x1) == 0)
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx001111xxxxxxxx1000x0xxxxxxxxxx
                                                 mul.  */
                                              return 106;
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x010111100xxxxxx1000x0xxxxxxxxxx
                                                             fmlallbb.  */
                                                          return 3447;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x110111100xxxxxx1000x0xxxxxxxxxx
                                                             fmlalltb.  */
                                                          return 3449;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x010111110xxxxxx1000x0xxxxxxxxxx
                                                             fmlal2.  */
                                                          return 3015;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x110111110xxxxxx1000x0xxxxxxxxxx
                                                             fmlal2.  */
                                                          return 3019;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x0101111x1xxxxxx1000x0xxxxxxxxxx
                                                         fmlallbt.  */
                                                      return 3448;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x1101111x1xxxxxx1000x0xxxxxxxxxx
                                                         fmlalltt.  */
                                                      return 3450;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx001111xxxxxxxx1100x0xxxxxxxxxx
                                                 sqdmulh.  */
                                              return 111;
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0101111xxxxxxxx1100x0xxxxxxxxxx
                                                     fmlsl2.  */
                                                  return 3016;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1101111xxxxxxxx1100x0xxxxxxxxxx
                                                     fmlsl2.  */
                                                  return 3020;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0001111xxxxxxxx1010x0xxxxxxxxxx
                                                     smull.  */
                                                  return 107;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1001111xxxxxxxx1010x0xxxxxxxxxx
                                                     smull2.  */
                                                  return 108;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0101111xxxxxxxx1010x0xxxxxxxxxx
                                                     umull.  */
                                                  return 125;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1101111xxxxxxxx1010x0xxxxxxxxxx
                                                     umull2.  */
                                                  return 126;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx001111xxxxxxxx1110x0xxxxxxxxxx
                                                 sdot.  */
                                              return 2987;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx101111xxxxxxxx1110x0xxxxxxxxxx
                                                 udot.  */
                                              return 2986;
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 29) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx0011110xxxxxxx1001x0xxxxxxxxxx
                                                     fmul.  */
                                                  return 118;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx1011110xxxxxxx1001x0xxxxxxxxxx
                                                     fmulx.  */
                                                  return 128;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 29) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx0011111xxxxxxx1001x0xxxxxxxxxx
                                                     fmul.  */
                                                  return 117;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx1011111xxxxxxx1001x0xxxxxxxxxx
                                                     fmulx.  */
                                                  return 127;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx001111xxxxxxxx1101x0xxxxxxxxxx
                                                 sqrdmulh.  */
                                              return 112;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx101111xxxxxxxx1101x0xxxxxxxxxx
                                                 sqrdmlah.  */
                                              return 129;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0x01111xxxxxxxx1011x0xxxxxxxxxx
                                                 sqdmull.  */
                                              return 109;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1x01111xxxxxxxx1011x0xxxxxxxxxx
                                                 sqdmull2.  */
                                              return 110;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx00111100xxxxxx1111x0xxxxxxxxxx
                                                         sudot.  */
                                                      return 3064;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx00111110xxxxxx1111x0xxxxxxxxxx
                                                         usdot.  */
                                                      return 3063;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xx00111101xxxxxx1111x0xxxxxxxxxx
                                                         bfdot.  */
                                                      return 3075;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x000111111xxxxxx1111x0xxxxxxxxxx
                                                             bfmlalb.  */
                                                          return 3083;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             x100111111xxxxxx1111x0xxxxxxxxxx
                                                             bfmlalt.  */
                                                          return 3082;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx101111xxxxxxxx1111x0xxxxxxxxxx
                                                 sqrdmlsh.  */
                                              return 130;
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 11) & 0x1) == 0)
                                {
                                  if (((word >> 14) & 0x1) == 0)
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx001111xxxxxxxx10x001xxxxxxxxxx
                                                 movi.  */
                                              return 135;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx101111xxxxxxxx10x001xxxxxxxxxx
                                                 mvni.  */
                                              return 143;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx001111xxxxxxxx10x101xxxxxxxxxx
                                                 orr.  */
                                              return 136;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx101111xxxxxxxx10x101xxxxxxxxxx
                                                 bic.  */
                                              return 144;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx001111xxxxxxxx110x01xxxxxxxxxx
                                                 movi.  */
                                              return 137;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx101111xxxxxxxx110x01xxxxxxxxxx
                                                 mvni.  */
                                              return 145;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 29) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx001111xxxxxxxx111001xxxxxxxxxx
                                                     movi.  */
                                                  return 138;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx101111xxxxxxxx111001xxxxxxxxxx
                                                     movi.  */
                                                  return 146;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 29) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx001111xxxxxxxx111101xxxxxxxxxx
                                                     fmov.  */
                                                  return 139;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xx101111xxxxxxxx111101xxxxxxxxxx
                                                     fmov.  */
                                                  return 148;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 12) & 0x1) == 0)
                                    {
                                      if (((word >> 29) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0001111xxxxxxxx1xx011xxxxxxxxxx
                                                 rshrn.  */
                                              return 382;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1001111xxxxxxxx1xx011xxxxxxxxxx
                                                 rshrn2.  */
                                              return 383;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x0101111xxxxxxxx1xx011xxxxxxxxxx
                                                 sqrshrun.  */
                                              return 406;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1101111xxxxxxxx1xx011xxxxxxxxxx
                                                 sqrshrun2.  */
                                              return 407;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0001111xxxxxxxx1x0111xxxxxxxxxx
                                                     sqrshrn.  */
                                                  return 386;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1001111xxxxxxxx1x0111xxxxxxxxxx
                                                     sqrshrn2.  */
                                                  return 387;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x0101111xxxxxxxx1x0111xxxxxxxxxx
                                                     uqrshrn.  */
                                                  return 410;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1101111xxxxxxxx1x0111xxxxxxxxxx
                                                     uqrshrn2.  */
                                                  return 411;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx001111xxxxxxxx1x1111xxxxxxxxxx
                                                 fmov.  */
                                              return 140;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx101111xxxxxxxx1x1111xxxxxxxxxx
                                                 fcvtzu.  */
                                              return 418;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         x0011111xx0xxxxx1xxxxxxxxxxxxxxx
                                         fmsub.  */
                                      return 860;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         x0011111xx1xxxxx1xxxxxxxxxxxxxxx
                                         fnmsub.  */
                                      return 864;
                                    }
                                }
                              else
                                {
                                  if (((word >> 10) & 0x1) == 0)
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             x1011111xxxxxxxx1xx0x0xxxxxxxxxx
                                             sqdmulh.  */
                                          return 428;
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x10111110xxxxxxx1001x0xxxxxxxxxx
                                                         fmul.  */
                                                      return 435;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         x10111111xxxxxxx1001x0xxxxxxxxxx
                                                         fmul.  */
                                                      return 434;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     x1011111xxxxxxxx1101x0xxxxxxxxxx
                                                     sqrdmulh.  */
                                                  return 429;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1011111xxxxxxxx1x11x0xxxxxxxxxx
                                                 sqdmull.  */
                                              return 427;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 11) & 0x1) == 0)
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1011111xxxxxxxx1xx001xxxxxxxxxx
                                                 scvtf.  */
                                              return 598;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1011111xxxxxxxx1xx101xxxxxxxxxx
                                                 sqshrn.  */
                                              return 596;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1011111xxxxxxxx1x0x11xxxxxxxxxx
                                                 sqrshrn.  */
                                              return 597;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 x1011111xxxxxxxx1x1x11xxxxxxxxxx
                                                 fcvtzs.  */
                                              return 600;
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 10) & 0x1) == 0)
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx1111110xxxxxxx100xx0xxxxxxxxxx
                                                 fmulx.  */
                                              return 437;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx1111111xxxxxxx100xx0xxxxxxxxxx
                                                 fmulx.  */
                                              return 436;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx111111xxxxxxxx110xx0xxxxxxxxxx
                                             sqrdmlah.  */
                                          return 438;
                                        }
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xx111111xxxxxxxx1x1xx0xxxxxxxxxx
                                         sqrdmlsh.  */
                                      return 439;
                                    }
                                }
                              else
                                {
                                  if (((word >> 11) & 0x1) == 0)
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx111111xxxxxxxx1x0001xxxxxxxxxx
                                                 sqshrun.  */
                                              return 610;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx111111xxxxxxxx1x1001xxxxxxxxxx
                                                 ucvtf.  */
                                              return 614;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx111111xxxxxxxx1xx101xxxxxxxxxx
                                             uqshrn.  */
                                          return 612;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xx111111xxxxxxxx1xx011xxxxxxxxxx
                                             sqrshrun.  */
                                          return 611;
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx111111xxxxxxxx1x0111xxxxxxxxxx
                                                 uqrshrn.  */
                                              return 613;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xx111111xxxxxxxx1x1111xxxxxxxxxx
                                                 fcvtzu.  */
                                              return 616;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

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

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

const aarch64_opcode *
aarch64_find_next_opcode (const aarch64_opcode *opcode)
{
  /* Use the index as the key to locate the next opcode.  */
  int key = opcode - aarch64_opcode_table;
  int value;
  switch (key)
    {
    case 2437: value = 2439; break;	/* mov --> mova.  */
    case 2439: return NULL;		/* mova --> NULL.  */
    case 2436: value = 2438; break;	/* mov --> mova.  */
    case 2438: return NULL;		/* mova --> NULL.  */
    case 2678: value = 2686; break;	/* mov --> mova.  */
    case 2686: return NULL;		/* mova --> NULL.  */
    case 2674: value = 2682; break;	/* mov --> mova.  */
    case 2682: return NULL;		/* mova --> NULL.  */
    case 2676: value = 2684; break;	/* mov --> mova.  */
    case 2684: return NULL;		/* mova --> NULL.  */
    case 2672: value = 2680; break;	/* mov --> mova.  */
    case 2680: return NULL;		/* mova --> NULL.  */
    case 2679: value = 2687; break;	/* mov --> mova.  */
    case 2687: return NULL;		/* mova --> NULL.  */
    case 2675: value = 2683; break;	/* mov --> mova.  */
    case 2683: return NULL;		/* mova --> NULL.  */
    case 2677: value = 2685; break;	/* mov --> mova.  */
    case 2685: return NULL;		/* mova --> NULL.  */
    case 2673: value = 2681; break;	/* mov --> mova.  */
    case 2681: return NULL;		/* mova --> NULL.  */
    case 2441: value = 2446; break;	/* ld1b --> ld1b.  */
    case 2446: return NULL;		/* ld1b --> NULL.  */
    case 2443: value = 2448; break;	/* ld1w --> ld1w.  */
    case 2448: return NULL;		/* ld1w --> NULL.  */
    case 2442: value = 2447; break;	/* ld1h --> ld1h.  */
    case 2447: return NULL;		/* ld1h --> NULL.  */
    case 2444: value = 2449; break;	/* ld1d --> ld1d.  */
    case 2449: return NULL;		/* ld1d --> NULL.  */
    case 2451: value = 2456; break;	/* st1b --> st1b.  */
    case 2456: return NULL;		/* st1b --> NULL.  */
    case 2453: value = 2458; break;	/* st1w --> st1w.  */
    case 2458: return NULL;		/* st1w --> NULL.  */
    case 2452: value = 2457; break;	/* st1h --> st1h.  */
    case 2457: return NULL;		/* st1h --> NULL.  */
    case 2454: value = 2459; break;	/* st1d --> st1d.  */
    case 2459: return NULL;		/* st1d --> NULL.  */
    case 2445: value = 2450; break;	/* ld1q --> ld1q.  */
    case 2450: return NULL;		/* ld1q --> NULL.  */
    case 2455: value = 2460; break;	/* st1q --> st1q.  */
    case 2460: return NULL;		/* st1q --> NULL.  */
    case 12: value = 19; break;	/* add --> addg.  */
    case 19: value = 3205; break;	/* addg --> smax.  */
    case 3205: value = 3206; break;	/* smax --> umax.  */
    case 3206: value = 3207; break;	/* umax --> smin.  */
    case 3207: value = 3208; break;	/* smin --> umin.  */
    case 3208: return NULL;		/* umin --> NULL.  */
    case 16: value = 20; break;	/* sub --> subg.  */
    case 20: return NULL;		/* subg --> NULL.  */
    case 971: value = 975; break;	/* stnp --> stp.  */
    case 975: return NULL;		/* stp --> NULL.  */
    case 969: value = 970; break;	/* stllrb --> stllrh.  */
    case 970: return NULL;		/* stllrh --> NULL.  */
    case 972: value = 976; break;	/* ldnp --> ldp.  */
    case 976: return NULL;		/* ldp --> NULL.  */
    case 912: value = 2468; break;	/* prfm --> rprfm.  */
    case 2468: return NULL;		/* rprfm --> NULL.  */
    case 1690: value = 1691; break;	/* ldff1b --> ldff1b.  */
    case 1691: return NULL;		/* ldff1b --> NULL.  */
    case 1746: value = 1747; break;	/* ldff1sw --> ldff1sw.  */
    case 1747: return NULL;		/* ldff1sw --> NULL.  */
    case 1694: value = 1695; break;	/* ldff1b --> ldff1b.  */
    case 1695: return NULL;		/* ldff1b --> NULL.  */
    case 1713: value = 1714; break;	/* ldff1h --> ldff1h.  */
    case 1714: return NULL;		/* ldff1h --> NULL.  */
    case 1692: value = 1693; break;	/* ldff1b --> ldff1b.  */
    case 1693: return NULL;		/* ldff1b --> NULL.  */
    case 1711: value = 1712; break;	/* ldff1h --> ldff1h.  */
    case 1712: return NULL;		/* ldff1h --> NULL.  */
    case 1696: value = 1697; break;	/* ldff1b --> ldff1b.  */
    case 1697: return NULL;		/* ldff1b --> NULL.  */
    case 1715: value = 1716; break;	/* ldff1h --> ldff1h.  */
    case 1716: return NULL;		/* ldff1h --> NULL.  */
    case 2475: value = 3291; break;	/* fclamp --> bfclamp.  */
    case 3291: return NULL;		/* bfclamp --> NULL.  */
    case 1789: value = 1790; break;	/* ldr --> ldr.  */
    case 1790: return NULL;		/* ldr --> NULL.  */
    case 1445: value = 3294; break;	/* fadd --> bfadd.  */
    case 3294: return NULL;		/* bfadd --> NULL.  */
    case 1512: value = 3295; break;	/* fmul --> bfmul.  */
    case 3295: return NULL;		/* bfmul --> NULL.  */
    case 1538: value = 3296; break;	/* fsub --> bfsub.  */
    case 3296: return NULL;		/* bfsub --> NULL.  */
    case 1503: value = 3287; break;	/* fmla --> bfmla.  */
    case 3287: return NULL;		/* bfmla --> NULL.  */
    case 2008: value = 2009; break;	/* str --> str.  */
    case 2009: return NULL;		/* str --> NULL.  */
    case 1507: value = 3288; break;	/* fmls --> bfmls.  */
    case 3288: return NULL;		/* bfmls --> NULL.  */
    case 1736: value = 1737; break;	/* ldff1sh --> ldff1sh.  */
    case 1737: return NULL;		/* ldff1sh --> NULL.  */
    case 1724: value = 1725; break;	/* ldff1sb --> ldff1sb.  */
    case 1725: return NULL;		/* ldff1sb --> NULL.  */
    case 1755: value = 1756; break;	/* ldff1w --> ldff1w.  */
    case 1756: return NULL;		/* ldff1w --> NULL.  */
    case 1728: value = 1729; break;	/* ldff1sb --> ldff1sb.  */
    case 1729: return NULL;		/* ldff1sb --> NULL.  */
    case 2466: value = 2467; break;	/* psel --> psel.  */
    case 2467: return NULL;		/* psel --> NULL.  */
    case 1738: value = 1739; break;	/* ldff1sh --> ldff1sh.  */
    case 1739: return NULL;		/* ldff1sh --> NULL.  */
    case 1726: value = 1727; break;	/* ldff1sb --> ldff1sb.  */
    case 1727: return NULL;		/* ldff1sb --> NULL.  */
    case 1757: value = 1758; break;	/* ldff1w --> ldff1w.  */
    case 1758: return NULL;		/* ldff1w --> NULL.  */
    case 1702: value = 1703; break;	/* ldff1d --> ldff1d.  */
    case 1703: return NULL;		/* ldff1d --> NULL.  */
    case 1826: value = 1827; break;	/* pfalse --> pfalse.  */
    case 1827: return NULL;		/* pfalse --> NULL.  */
    case 1446: value = 3282; break;	/* fadd --> bfadd.  */
    case 3282: return NULL;		/* bfadd --> NULL.  */
    case 1493: value = 3284; break;	/* fmaxnm --> bfmaxnm.  */
    case 3284: return NULL;		/* bfmaxnm --> NULL.  */
    case 1513: value = 3289; break;	/* fmul --> bfmul.  */
    case 3289: return NULL;		/* bfmul --> NULL.  */
    case 1491: value = 3283; break;	/* fmax --> bfmax.  */
    case 3283: return NULL;		/* bfmax --> NULL.  */
    case 1539: value = 3290; break;	/* fsub --> bfsub.  */
    case 3290: return NULL;		/* bfsub --> NULL.  */
    case 1499: value = 3286; break;	/* fminnm --> bfminnm.  */
    case 3286: return NULL;		/* bfminnm --> NULL.  */
    case 1497: value = 3285; break;	/* fmin --> bfmin.  */
    case 3285: return NULL;		/* bfmin --> NULL.  */
    case 811: value = 812; break;	/* xaflag --> axflag.  */
    case 812: value = 1224; break;	/* axflag --> tcommit.  */
    case 1224: value = 1227; break;	/* tcommit --> smstart.  */
    case 1227: value = 1228; break;	/* smstart --> smstop.  */
    case 1228: value = 1229; break;	/* smstop --> smstart.  */
    case 1229: value = 1230; break;	/* smstart --> smstop.  */
    case 1230: value = 1231; break;	/* smstop --> chkfeat.  */
    case 1231: value = 1232; break;	/* chkfeat --> msr.  */
    case 1232: value = 1233; break;	/* msr --> hint.  */
    case 1233: value = 1242; break;	/* hint --> dgh.  */
    case 1242: value = 1252; break;	/* dgh --> clrex.  */
    case 1252: value = 1253; break;	/* clrex --> dsb.  */
    case 1253: value = 1254; break;	/* dsb --> dsb.  */
    case 1254: value = 1258; break;	/* dsb --> dmb.  */
    case 1258: value = 1259; break;	/* dmb --> isb.  */
    case 1259: value = 1260; break;	/* isb --> sb.  */
    case 1260: value = 1261; break;	/* sb --> gcspushx.  */
    case 1261: value = 1262; break;	/* gcspushx --> gcspopx.  */
    case 1262: value = 1263; break;	/* gcspopx --> gcspopcx.  */
    case 1263: value = 1264; break;	/* gcspopcx --> gcsss1.  */
    case 1264: value = 1265; break;	/* gcsss1 --> gcspushm.  */
    case 1265: value = 1272; break;	/* gcspushm --> sys.  */
    case 1272: value = 1279; break;	/* sys --> wfet.  */
    case 1279: value = 1280; break;	/* wfet --> wfit.  */
    case 1280: value = 1286; break;	/* wfit --> cfinv.  */
    case 1286: value = 1287; break;	/* cfinv --> msr.  */
    case 1287: return NULL;		/* msr --> NULL.  */
    case 1223: value = 1225; break;	/* tstart --> ttest.  */
    case 1225: value = 1266; break;	/* ttest --> gcsss2.  */
    case 1266: value = 1267; break;	/* gcsss2 --> gcspopm.  */
    case 1267: value = 1268; break;	/* gcspopm --> gcspopm.  */
    case 1268: value = 1288; break;	/* gcspopm --> sysl.  */
    case 1288: value = 1289; break;	/* sysl --> mrs.  */
    case 1289: return NULL;		/* mrs --> NULL.  */
    case 440: value = 441; break;	/* st4 --> st1.  */
    case 441: value = 442; break;	/* st1 --> st2.  */
    case 442: value = 443; break;	/* st2 --> st3.  */
    case 443: return NULL;		/* st3 --> NULL.  */
    case 448: value = 449; break;	/* st4 --> st1.  */
    case 449: value = 450; break;	/* st1 --> st2.  */
    case 450: value = 451; break;	/* st2 --> st3.  */
    case 451: return NULL;		/* st3 --> NULL.  */
    case 444: value = 445; break;	/* ld4 --> ld1.  */
    case 445: value = 446; break;	/* ld1 --> ld2.  */
    case 446: value = 447; break;	/* ld2 --> ld3.  */
    case 447: return NULL;		/* ld3 --> NULL.  */
    case 460: value = 462; break;	/* ld1 --> ld1r.  */
    case 462: return NULL;		/* ld1r --> NULL.  */
    case 464: value = 466; break;	/* ld2 --> ld2r.  */
    case 466: return NULL;		/* ld2r --> NULL.  */
    case 461: value = 463; break;	/* ld3 --> ld3r.  */
    case 463: return NULL;		/* ld3r --> NULL.  */
    case 465: value = 467; break;	/* ld4 --> ld4r.  */
    case 467: return NULL;		/* ld4r --> NULL.  */
    case 452: value = 453; break;	/* ld4 --> ld1.  */
    case 453: value = 454; break;	/* ld1 --> ld2.  */
    case 454: value = 455; break;	/* ld2 --> ld3.  */
    case 455: return NULL;		/* ld3 --> NULL.  */
    case 472: value = 474; break;	/* ld1 --> ld1r.  */
    case 474: return NULL;		/* ld1r --> NULL.  */
    case 473: value = 475; break;	/* ld3 --> ld3r.  */
    case 475: return NULL;		/* ld3r --> NULL.  */
    case 476: value = 478; break;	/* ld2 --> ld2r.  */
    case 478: return NULL;		/* ld2r --> NULL.  */
    case 477: value = 479; break;	/* ld4 --> ld4r.  */
    case 479: return NULL;		/* ld4r --> NULL.  */
    case 764: value = 765; break;	/* fcvtzs --> fcvtzs.  */
    case 765: return NULL;		/* fcvtzs --> NULL.  */
    case 760: value = 761; break;	/* scvtf --> scvtf.  */
    case 761: return NULL;		/* scvtf --> NULL.  */
    case 766: value = 767; break;	/* fcvtzu --> fcvtzu.  */
    case 767: return NULL;		/* fcvtzu --> NULL.  */
    case 762: value = 763; break;	/* ucvtf --> ucvtf.  */
    case 763: return NULL;		/* ucvtf --> NULL.  */
    case 768: value = 769; break;	/* fcvtns --> fcvtns.  */
    case 769: return NULL;		/* fcvtns --> NULL.  */
    case 788: value = 789; break;	/* fcvtms --> fcvtms.  */
    case 789: return NULL;		/* fcvtms --> NULL.  */
    case 784: value = 785; break;	/* fcvtps --> fcvtps.  */
    case 785: return NULL;		/* fcvtps --> NULL.  */
    case 792: value = 793; break;	/* fcvtzs --> fcvtzs.  */
    case 793: return NULL;		/* fcvtzs --> NULL.  */
    case 776: value = 777; break;	/* fcvtas --> fcvtas.  */
    case 777: return NULL;		/* fcvtas --> NULL.  */
    case 772: value = 773; break;	/* scvtf --> scvtf.  */
    case 773: return NULL;		/* scvtf --> NULL.  */
    case 780: value = 781; break;	/* fmov --> fmov.  */
    case 781: return NULL;		/* fmov --> NULL.  */
    case 770: value = 771; break;	/* fcvtnu --> fcvtnu.  */
    case 771: return NULL;		/* fcvtnu --> NULL.  */
    case 790: value = 791; break;	/* fcvtmu --> fcvtmu.  */
    case 791: return NULL;		/* fcvtmu --> NULL.  */
    case 786: value = 787; break;	/* fcvtpu --> fcvtpu.  */
    case 787: return NULL;		/* fcvtpu --> NULL.  */
    case 794: value = 795; break;	/* fcvtzu --> fcvtzu.  */
    case 795: return NULL;		/* fcvtzu --> NULL.  */
    case 778: value = 779; break;	/* fcvtau --> fcvtau.  */
    case 779: return NULL;		/* fcvtau --> NULL.  */
    case 774: value = 775; break;	/* ucvtf --> ucvtf.  */
    case 775: return NULL;		/* ucvtf --> NULL.  */
    case 782: value = 783; break;	/* fmov --> fmov.  */
    case 783: return NULL;		/* fmov --> NULL.  */
    case 817: value = 818; break;	/* fmov --> fmov.  */
    case 818: return NULL;		/* fmov --> NULL.  */
    case 826: value = 827; break;	/* frintn --> frintn.  */
    case 827: return NULL;		/* frintn --> NULL.  */
    case 821: value = 822; break;	/* fneg --> fneg.  */
    case 822: return NULL;		/* fneg --> NULL.  */
    case 830: value = 831; break;	/* frintm --> frintm.  */
    case 831: return NULL;		/* frintm --> NULL.  */
    case 819: value = 820; break;	/* fabs --> fabs.  */
    case 820: return NULL;		/* fabs --> NULL.  */
    case 828: value = 829; break;	/* frintp --> frintp.  */
    case 829: return NULL;		/* frintp --> NULL.  */
    case 823: value = 824; break;	/* fsqrt --> fsqrt.  */
    case 824: return NULL;		/* fsqrt --> NULL.  */
    case 832: value = 833; break;	/* frintz --> frintz.  */
    case 833: return NULL;		/* frintz --> NULL.  */
    case 825: value = 3079; break;	/* fcvt --> bfcvt.  */
    case 3079: return NULL;		/* bfcvt --> NULL.  */
    case 834: value = 835; break;	/* frinta --> frinta.  */
    case 835: return NULL;		/* frinta --> NULL.  */
    case 836: value = 837; break;	/* frintx --> frintx.  */
    case 837: return NULL;		/* frintx --> NULL.  */
    case 838: value = 839; break;	/* frinti --> frinti.  */
    case 839: return NULL;		/* frinti --> NULL.  */
    case 803: value = 804; break;	/* fcmp --> fcmp.  */
    case 804: return NULL;		/* fcmp --> NULL.  */
    case 805: value = 806; break;	/* fcmpe --> fcmpe.  */
    case 806: return NULL;		/* fcmpe --> NULL.  */
    case 807: value = 808; break;	/* fcmp --> fcmp.  */
    case 808: return NULL;		/* fcmp --> NULL.  */
    case 809: value = 810; break;	/* fcmpe --> fcmpe.  */
    case 810: return NULL;		/* fcmpe --> NULL.  */
    case 866: value = 867; break;	/* fmov --> fmov.  */
    case 867: return NULL;		/* fmov --> NULL.  */
    case 840: value = 841; break;	/* fmul --> fmul.  */
    case 841: return NULL;		/* fmul --> NULL.  */
    case 856: value = 857; break;	/* fnmul --> fnmul.  */
    case 857: return NULL;		/* fnmul --> NULL.  */
    case 848: value = 849; break;	/* fmax --> fmax.  */
    case 849: return NULL;		/* fmax --> NULL.  */
    case 844: value = 845; break;	/* fadd --> fadd.  */
    case 845: return NULL;		/* fadd --> NULL.  */
    case 852: value = 853; break;	/* fmaxnm --> fmaxnm.  */
    case 853: return NULL;		/* fmaxnm --> NULL.  */
    case 842: value = 843; break;	/* fdiv --> fdiv.  */
    case 843: return NULL;		/* fdiv --> NULL.  */
    case 850: value = 851; break;	/* fmin --> fmin.  */
    case 851: return NULL;		/* fmin --> NULL.  */
    case 846: value = 847; break;	/* fsub --> fsub.  */
    case 847: return NULL;		/* fsub --> NULL.  */
    case 854: value = 855; break;	/* fminnm --> fminnm.  */
    case 855: return NULL;		/* fminnm --> NULL.  */
    case 799: value = 800; break;	/* fccmp --> fccmp.  */
    case 800: return NULL;		/* fccmp --> NULL.  */
    case 801: value = 802; break;	/* fccmpe --> fccmpe.  */
    case 802: return NULL;		/* fccmpe --> NULL.  */
    case 868: value = 869; break;	/* fcsel --> fcsel.  */
    case 869: return NULL;		/* fcsel --> NULL.  */
    case 133: value = 374; break;	/* movi --> sshr.  */
    case 374: value = 376; break;	/* sshr --> srshr.  */
    case 376: return NULL;		/* srshr --> NULL.  */
    case 141: value = 396; break;	/* mvni --> ushr.  */
    case 396: value = 398; break;	/* ushr --> urshr.  */
    case 398: value = 400; break;	/* urshr --> sri.  */
    case 400: value = 402; break;	/* sri --> sqshlu.  */
    case 402: return NULL;		/* sqshlu --> NULL.  */
    case 134: value = 375; break;	/* orr --> ssra.  */
    case 375: value = 377; break;	/* ssra --> srsra.  */
    case 377: value = 378; break;	/* srsra --> shl.  */
    case 378: value = 379; break;	/* shl --> sqshl.  */
    case 379: return NULL;		/* sqshl --> NULL.  */
    case 142: value = 397; break;	/* bic --> usra.  */
    case 397: value = 399; break;	/* usra --> ursra.  */
    case 399: value = 401; break;	/* ursra --> sli.  */
    case 401: value = 403; break;	/* sli --> uqshl.  */
    case 403: return NULL;		/* uqshl --> NULL.  */
    case 858: value = 859; break;	/* fmadd --> fmadd.  */
    case 859: return NULL;		/* fmadd --> NULL.  */
    case 862: value = 863; break;	/* fnmadd --> fnmadd.  */
    case 863: return NULL;		/* fnmadd --> NULL.  */
    case 135: value = 380; break;	/* movi --> shrn.  */
    case 380: value = 381; break;	/* shrn --> shrn2.  */
    case 381: value = 388; break;	/* shrn2 --> sshll.  */
    case 388: value = 390; break;	/* sshll --> sshll2.  */
    case 390: return NULL;		/* sshll2 --> NULL.  */
    case 143: value = 404; break;	/* mvni --> sqshrun.  */
    case 404: value = 405; break;	/* sqshrun --> sqshrun2.  */
    case 405: value = 412; break;	/* sqshrun2 --> ushll.  */
    case 412: value = 414; break;	/* ushll --> ushll2.  */
    case 414: return NULL;		/* ushll2 --> NULL.  */
    case 136: value = 384; break;	/* orr --> sqshrn.  */
    case 384: value = 385; break;	/* sqshrn --> sqshrn2.  */
    case 385: return NULL;		/* sqshrn2 --> NULL.  */
    case 144: value = 408; break;	/* bic --> uqshrn.  */
    case 408: value = 409; break;	/* uqshrn --> uqshrn2.  */
    case 409: return NULL;		/* uqshrn2 --> NULL.  */
    case 138: value = 392; break;	/* movi --> scvtf.  */
    case 392: value = 393; break;	/* scvtf --> scvtf.  */
    case 393: return NULL;		/* scvtf --> NULL.  */
    case 146: value = 147; break;	/* movi --> movi.  */
    case 147: value = 416; break;	/* movi --> ucvtf.  */
    case 416: value = 417; break;	/* ucvtf --> ucvtf.  */
    case 417: return NULL;		/* ucvtf --> NULL.  */
    case 140: value = 394; break;	/* fmov --> fcvtzs.  */
    case 394: value = 395; break;	/* fcvtzs --> fcvtzs.  */
    case 395: return NULL;		/* fcvtzs --> NULL.  */
    case 418: value = 419; break;	/* fcvtzu --> fcvtzu.  */
    case 419: return NULL;		/* fcvtzu --> NULL.  */
    case 860: value = 861; break;	/* fmsub --> fmsub.  */
    case 861: return NULL;		/* fmsub --> NULL.  */
    case 864: value = 865; break;	/* fnmsub --> fnmsub.  */
    case 865: return NULL;		/* fnmsub --> NULL.  */
    case 598: value = 599; break;	/* scvtf --> scvtf.  */
    case 599: return NULL;		/* scvtf --> NULL.  */
    case 600: value = 601; break;	/* fcvtzs --> fcvtzs.  */
    case 601: return NULL;		/* fcvtzs --> NULL.  */
    case 614: value = 615; break;	/* ucvtf --> ucvtf.  */
    case 615: return NULL;		/* ucvtf --> NULL.  */
    case 616: value = 617; break;	/* fcvtzu --> fcvtzu.  */
    case 617: return NULL;		/* fcvtzu --> NULL.  */
    default: return NULL;
    }

  return aarch64_opcode_table + value;
}

const aarch64_opcode *
aarch64_find_alias_opcode (const aarch64_opcode *opcode)
{
  /* Use the index as the key to locate the alias opcode.  */
  int key = opcode - aarch64_opcode_table;
  int value;
  switch (key)
    {
    case 2: value = 3; break;	/* sbc --> ngc.  */
    case 4: value = 5; break;	/* sbcs --> ngcs.  */
    case 7: value = 8; break;	/* adds --> cmn.  */
    case 10: value = 11; break;	/* subs --> cmp.  */
    case 12: value = 13; break;	/* add --> mov.  */
    case 14: value = 15; break;	/* adds --> cmn.  */
    case 17: value = 18; break;	/* subs --> cmp.  */
    case 22: value = 23; break;	/* adds --> cmn.  */
    case 24: value = 25; break;	/* sub --> neg.  */
    case 26: value = 27; break;	/* subs --> cmp.  */
    case 152: value = 153; break;	/* umov --> mov.  */
    case 154: value = 155; break;	/* ins --> mov.  */
    case 156: value = 157; break;	/* ins --> mov.  */
    case 242: value = 243; break;	/* not --> mvn.  */
    case 317: value = 318; break;	/* orr --> mov.  */
    case 388: value = 389; break;	/* sshll --> sxtl.  */
    case 390: value = 391; break;	/* sshll2 --> sxtl2.  */
    case 412: value = 413; break;	/* ushll --> uxtl.  */
    case 414: value = 415; break;	/* ushll2 --> uxtl2.  */
    case 535: value = 536; break;	/* dup --> mov.  */
    case 618: value = 623; break;	/* sbfm --> sxtw.  */
    case 625: value = 627; break;	/* bfm --> bfc.  */
    case 629: value = 633; break;	/* ubfm --> uxth.  */
    case 663: value = 665; break;	/* csinc --> cset.  */
    case 666: value = 668; break;	/* csinv --> csetm.  */
    case 669: value = 670; break;	/* csneg --> cneg.  */
    case 688: value = 688; break;	/* rev --> rev.  */
    case 713: value = 714; break;	/* lslv --> lsl.  */
    case 715: value = 716; break;	/* lsrv --> lsr.  */
    case 717: value = 718; break;	/* asrv --> asr.  */
    case 719: value = 720; break;	/* rorv --> ror.  */
    case 722: value = 723; break;	/* subps --> cmpp.  */
    case 735: value = 736; break;	/* madd --> mul.  */
    case 737: value = 738; break;	/* msub --> mneg.  */
    case 739: value = 740; break;	/* smaddl --> smull.  */
    case 741: value = 742; break;	/* smsubl --> smnegl.  */
    case 744: value = 745; break;	/* umaddl --> umull.  */
    case 746: value = 747; break;	/* umsubl --> umnegl.  */
    case 758: value = 759; break;	/* extr --> ror.  */
    case 995: value = 996; break;	/* and --> bic.  */
    case 997: value = 998; break;	/* orr --> mov.  */
    case 1000: value = 1001; break;	/* ands --> tst.  */
    case 1004: value = 1006; break;	/* orr --> uxtw.  */
    case 1007: value = 1008; break;	/* orn --> mvn.  */
    case 1011: value = 1012; break;	/* ands --> tst.  */
    case 1042: value = 1138; break;	/* ldaddb --> staddb.  */
    case 1043: value = 1139; break;	/* ldaddh --> staddh.  */
    case 1044: value = 1140; break;	/* ldadd --> stadd.  */
    case 1046: value = 1141; break;	/* ldaddlb --> staddlb.  */
    case 1049: value = 1142; break;	/* ldaddlh --> staddlh.  */
    case 1052: value = 1143; break;	/* ldaddl --> staddl.  */
    case 1054: value = 1144; break;	/* ldclrb --> stclrb.  */
    case 1055: value = 1145; break;	/* ldclrh --> stclrh.  */
    case 1056: value = 1146; break;	/* ldclr --> stclr.  */
    case 1058: value = 1147; break;	/* ldclrlb --> stclrlb.  */
    case 1061: value = 1148; break;	/* ldclrlh --> stclrlh.  */
    case 1064: value = 1149; break;	/* ldclrl --> stclrl.  */
    case 1066: value = 1150; break;	/* ldeorb --> steorb.  */
    case 1067: value = 1151; break;	/* ldeorh --> steorh.  */
    case 1068: value = 1152; break;	/* ldeor --> steor.  */
    case 1070: value = 1153; break;	/* ldeorlb --> steorlb.  */
    case 1073: value = 1154; break;	/* ldeorlh --> steorlh.  */
    case 1076: value = 1155; break;	/* ldeorl --> steorl.  */
    case 1078: value = 1156; break;	/* ldsetb --> stsetb.  */
    case 1079: value = 1157; break;	/* ldseth --> stseth.  */
    case 1080: value = 1158; break;	/* ldset --> stset.  */
    case 1082: value = 1159; break;	/* ldsetlb --> stsetlb.  */
    case 1085: value = 1160; break;	/* ldsetlh --> stsetlh.  */
    case 1088: value = 1161; break;	/* ldsetl --> stsetl.  */
    case 1090: value = 1162; break;	/* ldsmaxb --> stsmaxb.  */
    case 1091: value = 1163; break;	/* ldsmaxh --> stsmaxh.  */
    case 1092: value = 1164; break;	/* ldsmax --> stsmax.  */
    case 1094: value = 1165; break;	/* ldsmaxlb --> stsmaxlb.  */
    case 1097: value = 1166; break;	/* ldsmaxlh --> stsmaxlh.  */
    case 1100: value = 1167; break;	/* ldsmaxl --> stsmaxl.  */
    case 1102: value = 1168; break;	/* ldsminb --> stsminb.  */
    case 1103: value = 1169; break;	/* ldsminh --> stsminh.  */
    case 1104: value = 1170; break;	/* ldsmin --> stsmin.  */
    case 1106: value = 1171; break;	/* ldsminlb --> stsminlb.  */
    case 1109: value = 1172; break;	/* ldsminlh --> stsminlh.  */
    case 1112: value = 1173; break;	/* ldsminl --> stsminl.  */
    case 1114: value = 1174; break;	/* ldumaxb --> stumaxb.  */
    case 1115: value = 1175; break;	/* ldumaxh --> stumaxh.  */
    case 1116: value = 1176; break;	/* ldumax --> stumax.  */
    case 1118: value = 1177; break;	/* ldumaxlb --> stumaxlb.  */
    case 1121: value = 1178; break;	/* ldumaxlh --> stumaxlh.  */
    case 1124: value = 1179; break;	/* ldumaxl --> stumaxl.  */
    case 1126: value = 1180; break;	/* lduminb --> stuminb.  */
    case 1127: value = 1181; break;	/* lduminh --> stuminh.  */
    case 1128: value = 1182; break;	/* ldumin --> stumin.  */
    case 1130: value = 1183; break;	/* lduminlb --> stuminlb.  */
    case 1133: value = 1184; break;	/* lduminlh --> stuminlh.  */
    case 1136: value = 1185; break;	/* lduminl --> stuminl.  */
    case 1216: value = 1217; break;	/* movn --> mov.  */
    case 1218: value = 1219; break;	/* movz --> mov.  */
    case 1233: value = 3216; break;	/* hint --> clrbhb.  */
    case 1253: value = 1257; break;	/* dsb --> pssbb.  */
    case 1254: value = 1254; break;	/* dsb --> dsb.  */
    case 1272: value = 3217; break;	/* sys --> trcit.  */
    case 1273: value = 1278; break;	/* sysp --> tlbip.  */
    case 1279: value = 1279; break;	/* wfet --> wfet.  */
    case 1280: value = 1280; break;	/* wfit --> wfit.  */
    case 1348: value = 2101; break;	/* and --> bic.  */
    case 1350: value = 1331; break;	/* and --> mov.  */
    case 1351: value = 1335; break;	/* ands --> movs.  */
    case 1386: value = 2102; break;	/* cmpge --> cmple.  */
    case 1389: value = 2105; break;	/* cmpgt --> cmplt.  */
    case 1391: value = 2103; break;	/* cmphi --> cmplo.  */
    case 1394: value = 2104; break;	/* cmphs --> cmpls.  */
    case 1416: value = 1328; break;	/* cpy --> mov.  */
    case 1417: value = 1330; break;	/* cpy --> mov.  */
    case 1418: value = 2112; break;	/* cpy --> fmov.  */
    case 1430: value = 1322; break;	/* dup --> mov.  */
    case 1431: value = 1325; break;	/* dup --> mov.  */
    case 1432: value = 2111; break;	/* dup --> fmov.  */
    case 1433: value = 1326; break;	/* dupm --> mov.  */
    case 1435: value = 2106; break;	/* eor --> eon.  */
    case 1437: value = 1336; break;	/* eor --> not.  */
    case 1438: value = 1337; break;	/* eors --> nots.  */
    case 1443: value = 2107; break;	/* facge --> facle.  */
    case 1444: value = 2108; break;	/* facgt --> faclt.  */
    case 1457: value = 2109; break;	/* fcmge --> fcmle.  */
    case 1459: value = 2110; break;	/* fcmgt --> fcmlt.  */
    case 1465: value = 1319; break;	/* fcpy --> fmov.  */
    case 1488: value = 1318; break;	/* fdup --> fmov.  */
    case 1820: value = 1320; break;	/* orr --> mov.  */
    case 1821: value = 2113; break;	/* orr --> orn.  */
    case 1823: value = 1324; break;	/* orr --> mov.  */
    case 1824: value = 1334; break;	/* orrs --> movs.  */
    case 1887: value = 1329; break;	/* sel --> mov.  */
    case 1888: value = 1332; 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 23: value = 22; break;	/* cmn --> adds.  */
    case 25: value = 24; break;	/* neg --> sub.  */
    case 27: value = 28; break;	/* cmp --> negs.  */
    case 28: value = 26; break;	/* negs --> subs.  */
    case 153: value = 152; break;	/* mov --> umov.  */
    case 155: value = 154; break;	/* mov --> ins.  */
    case 157: value = 156; break;	/* mov --> ins.  */
    case 243: value = 242; break;	/* mvn --> not.  */
    case 318: value = 317; break;	/* mov --> orr.  */
    case 389: value = 388; break;	/* sxtl --> sshll.  */
    case 391: value = 390; break;	/* sxtl2 --> sshll2.  */
    case 413: value = 412; break;	/* uxtl --> ushll.  */
    case 415: value = 414; break;	/* uxtl2 --> ushll2.  */
    case 536: value = 535; break;	/* mov --> dup.  */
    case 623: value = 622; break;	/* sxtw --> sxth.  */
    case 622: value = 621; break;	/* sxth --> sxtb.  */
    case 621: value = 624; break;	/* sxtb --> asr.  */
    case 624: value = 620; break;	/* asr --> sbfx.  */
    case 620: value = 619; break;	/* sbfx --> sbfiz.  */
    case 619: value = 618; break;	/* sbfiz --> sbfm.  */
    case 627: value = 628; break;	/* bfc --> bfxil.  */
    case 628: value = 626; break;	/* bfxil --> bfi.  */
    case 626: value = 625; break;	/* bfi --> bfm.  */
    case 633: value = 632; break;	/* uxth --> uxtb.  */
    case 632: value = 635; break;	/* uxtb --> lsr.  */
    case 635: value = 634; break;	/* lsr --> lsl.  */
    case 634: value = 631; break;	/* lsl --> ubfx.  */
    case 631: value = 630; break;	/* ubfx --> ubfiz.  */
    case 630: value = 629; break;	/* ubfiz --> ubfm.  */
    case 665: value = 664; break;	/* cset --> cinc.  */
    case 664: value = 663; break;	/* cinc --> csinc.  */
    case 668: value = 667; break;	/* csetm --> cinv.  */
    case 667: value = 666; break;	/* cinv --> csinv.  */
    case 670: value = 669; break;	/* cneg --> csneg.  */
    case 688: value = 689; break;	/* rev --> rev64.  */
    case 714: value = 713; break;	/* lsl --> lslv.  */
    case 716: value = 715; break;	/* lsr --> lsrv.  */
    case 718: value = 717; break;	/* asr --> asrv.  */
    case 720: value = 719; break;	/* ror --> rorv.  */
    case 723: value = 722; break;	/* cmpp --> subps.  */
    case 736: value = 735; break;	/* mul --> madd.  */
    case 738: value = 737; break;	/* mneg --> msub.  */
    case 740: value = 739; break;	/* smull --> smaddl.  */
    case 742: value = 741; break;	/* smnegl --> smsubl.  */
    case 745: value = 744; break;	/* umull --> umaddl.  */
    case 747: value = 746; break;	/* umnegl --> umsubl.  */
    case 759: value = 758; break;	/* ror --> extr.  */
    case 996: value = 995; break;	/* bic --> and.  */
    case 998: value = 997; break;	/* mov --> orr.  */
    case 1001: value = 1000; break;	/* tst --> ands.  */
    case 1006: value = 1005; break;	/* uxtw --> mov.  */
    case 1005: value = 1004; break;	/* mov --> orr.  */
    case 1008: value = 1007; break;	/* mvn --> orn.  */
    case 1012: value = 1011; break;	/* tst --> ands.  */
    case 1138: value = 1042; break;	/* staddb --> ldaddb.  */
    case 1139: value = 1043; break;	/* staddh --> ldaddh.  */
    case 1140: value = 1044; break;	/* stadd --> ldadd.  */
    case 1141: value = 1046; break;	/* staddlb --> ldaddlb.  */
    case 1142: value = 1049; break;	/* staddlh --> ldaddlh.  */
    case 1143: value = 1052; break;	/* staddl --> ldaddl.  */
    case 1144: value = 1054; break;	/* stclrb --> ldclrb.  */
    case 1145: value = 1055; break;	/* stclrh --> ldclrh.  */
    case 1146: value = 1056; break;	/* stclr --> ldclr.  */
    case 1147: value = 1058; break;	/* stclrlb --> ldclrlb.  */
    case 1148: value = 1061; break;	/* stclrlh --> ldclrlh.  */
    case 1149: value = 1064; break;	/* stclrl --> ldclrl.  */
    case 1150: value = 1066; break;	/* steorb --> ldeorb.  */
    case 1151: value = 1067; break;	/* steorh --> ldeorh.  */
    case 1152: value = 1068; break;	/* steor --> ldeor.  */
    case 1153: value = 1070; break;	/* steorlb --> ldeorlb.  */
    case 1154: value = 1073; break;	/* steorlh --> ldeorlh.  */
    case 1155: value = 1076; break;	/* steorl --> ldeorl.  */
    case 1156: value = 1078; break;	/* stsetb --> ldsetb.  */
    case 1157: value = 1079; break;	/* stseth --> ldseth.  */
    case 1158: value = 1080; break;	/* stset --> ldset.  */
    case 1159: value = 1082; break;	/* stsetlb --> ldsetlb.  */
    case 1160: value = 1085; break;	/* stsetlh --> ldsetlh.  */
    case 1161: value = 1088; break;	/* stsetl --> ldsetl.  */
    case 1162: value = 1090; break;	/* stsmaxb --> ldsmaxb.  */
    case 1163: value = 1091; break;	/* stsmaxh --> ldsmaxh.  */
    case 1164: value = 1092; break;	/* stsmax --> ldsmax.  */
    case 1165: value = 1094; break;	/* stsmaxlb --> ldsmaxlb.  */
    case 1166: value = 1097; break;	/* stsmaxlh --> ldsmaxlh.  */
    case 1167: value = 1100; break;	/* stsmaxl --> ldsmaxl.  */
    case 1168: value = 1102; break;	/* stsminb --> ldsminb.  */
    case 1169: value = 1103; break;	/* stsminh --> ldsminh.  */
    case 1170: value = 1104; break;	/* stsmin --> ldsmin.  */
    case 1171: value = 1106; break;	/* stsminlb --> ldsminlb.  */
    case 1172: value = 1109; break;	/* stsminlh --> ldsminlh.  */
    case 1173: value = 1112; break;	/* stsminl --> ldsminl.  */
    case 1174: value = 1114; break;	/* stumaxb --> ldumaxb.  */
    case 1175: value = 1115; break;	/* stumaxh --> ldumaxh.  */
    case 1176: value = 1116; break;	/* stumax --> ldumax.  */
    case 1177: value = 1118; break;	/* stumaxlb --> ldumaxlb.  */
    case 1178: value = 1121; break;	/* stumaxlh --> ldumaxlh.  */
    case 1179: value = 1124; break;	/* stumaxl --> ldumaxl.  */
    case 1180: value = 1126; break;	/* stuminb --> lduminb.  */
    case 1181: value = 1127; break;	/* stuminh --> lduminh.  */
    case 1182: value = 1128; break;	/* stumin --> ldumin.  */
    case 1183: value = 1130; break;	/* stuminlb --> lduminlb.  */
    case 1184: value = 1133; break;	/* stuminlh --> lduminlh.  */
    case 1185: value = 1136; break;	/* stuminl --> lduminl.  */
    case 1217: value = 1216; break;	/* mov --> movn.  */
    case 1219: value = 1218; break;	/* mov --> movz.  */
    case 3216: value = 1299; break;	/* clrbhb --> autibsp.  */
    case 1299: value = 1298; break;	/* autibsp --> autibz.  */
    case 1298: value = 1297; break;	/* autibz --> autiasp.  */
    case 1297: value = 1296; break;	/* autiasp --> autiaz.  */
    case 1296: value = 1295; break;	/* autiaz --> pacibsp.  */
    case 1295: value = 1294; break;	/* pacibsp --> pacibz.  */
    case 1294: value = 1293; break;	/* pacibz --> paciasp.  */
    case 1293: value = 1292; break;	/* paciasp --> paciaz.  */
    case 1292: value = 1271; break;	/* paciaz --> gcsb.  */
    case 1271: value = 1251; break;	/* gcsb --> clearbhb.  */
    case 1251: value = 1250; break;	/* clearbhb --> tsb.  */
    case 1250: value = 1249; break;	/* tsb --> psb.  */
    case 1249: value = 1248; break;	/* psb --> esb.  */
    case 1248: value = 1247; break;	/* esb --> autib1716.  */
    case 1247: value = 1246; break;	/* autib1716 --> autia1716.  */
    case 1246: value = 1245; break;	/* autia1716 --> pacib1716.  */
    case 1245: value = 1244; break;	/* pacib1716 --> pacia1716.  */
    case 1244: value = 1243; break;	/* pacia1716 --> xpaclri.  */
    case 1243: value = 1241; break;	/* xpaclri --> sevl.  */
    case 1241: value = 1240; break;	/* sevl --> sev.  */
    case 1240: value = 1239; break;	/* sev --> wfi.  */
    case 1239: value = 1238; break;	/* wfi --> wfe.  */
    case 1238: value = 1237; break;	/* wfe --> yield.  */
    case 1237: value = 1236; break;	/* yield --> bti.  */
    case 1236: value = 1235; break;	/* bti --> csdb.  */
    case 1235: value = 1234; break;	/* csdb --> nop.  */
    case 1234: value = 1233; break;	/* nop --> hint.  */
    case 1257: value = 1256; break;	/* pssbb --> ssbb.  */
    case 1256: value = 1255; break;	/* ssbb --> dfb.  */
    case 1255: value = 1253; break;	/* dfb --> dsb.  */
    case 3217: value = 1285; break;	/* trcit --> brb.  */
    case 1285: value = 1284; break;	/* brb --> cosp.  */
    case 1284: value = 1283; break;	/* cosp --> cpp.  */
    case 1283: value = 1282; break;	/* cpp --> dvp.  */
    case 1282: value = 1281; break;	/* dvp --> cfp.  */
    case 1281: value = 1277; break;	/* cfp --> tlbi.  */
    case 1277: value = 1276; break;	/* tlbi --> ic.  */
    case 1276: value = 1275; break;	/* ic --> dc.  */
    case 1275: value = 1274; break;	/* dc --> at.  */
    case 1274: value = 1272; break;	/* at --> sys.  */
    case 1278: value = 1273; break;	/* tlbip --> sysp.  */
    case 2101: value = 1348; break;	/* bic --> and.  */
    case 1331: value = 1350; break;	/* mov --> and.  */
    case 1335: value = 1351; break;	/* movs --> ands.  */
    case 2102: value = 1386; break;	/* cmple --> cmpge.  */
    case 2105: value = 1389; break;	/* cmplt --> cmpgt.  */
    case 2103: value = 1391; break;	/* cmplo --> cmphi.  */
    case 2104: value = 1394; break;	/* cmpls --> cmphs.  */
    case 1328: value = 1416; break;	/* mov --> cpy.  */
    case 1330: value = 1417; break;	/* mov --> cpy.  */
    case 2112: value = 1333; break;	/* fmov --> mov.  */
    case 1333: value = 1418; break;	/* mov --> cpy.  */
    case 1322: value = 1430; break;	/* mov --> dup.  */
    case 1325: value = 1321; break;	/* mov --> mov.  */
    case 1321: value = 1431; break;	/* mov --> dup.  */
    case 2111: value = 1327; break;	/* fmov --> mov.  */
    case 1327: value = 1432; break;	/* mov --> dup.  */
    case 1326: value = 1433; break;	/* mov --> dupm.  */
    case 2106: value = 1435; break;	/* eon --> eor.  */
    case 1336: value = 1437; break;	/* not --> eor.  */
    case 1337: value = 1438; break;	/* nots --> eors.  */
    case 2107: value = 1443; break;	/* facle --> facge.  */
    case 2108: value = 1444; break;	/* faclt --> facgt.  */
    case 2109: value = 1457; break;	/* fcmle --> fcmge.  */
    case 2110: value = 1459; break;	/* fcmlt --> fcmgt.  */
    case 1319: value = 1465; break;	/* fmov --> fcpy.  */
    case 1318: value = 1488; break;	/* fmov --> fdup.  */
    case 1320: value = 1820; break;	/* mov --> orr.  */
    case 2113: value = 1821; break;	/* orn --> orr.  */
    case 1324: value = 1323; break;	/* mov --> mov.  */
    case 1323: value = 1823; break;	/* mov --> orr.  */
    case 1334: value = 1824; break;	/* movs --> orrs.  */
    case 1329: value = 1887; break;	/* mov --> sel.  */
    case 1332: value = 1888; break;	/* mov --> sel.  */
    default: return NULL;
    }

  return aarch64_opcode_table + value;
}

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