Fix indentation in print_thread_info_1
[deliverable/binutils-gdb.git] / opcodes / aarch64-dis-2.c
index e29033006361182264c37b15997466f0ba757a51..9ebaec7eaa1a3a2ae0339353f47a076a2652a82f 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated by aarch64-gen.  Do not edit!  */
 /* This file is automatically generated by aarch64-gen.  Do not edit!  */
-/* Copyright (C) 2012-2018 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2019 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -40,7 +40,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          0xxx0000xxxxxxxxxxxxxxxxxxxxxxxx
                          adr.  */
                          10987654321098765432109876543210
                          0xxx0000xxxxxxxxxxxxxxxxxxxxxxxx
                          adr.  */
-                      return 1155;
+                      return 1186;
                     }
                   else
                     {
                     }
                   else
                     {
@@ -48,7 +48,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          1xxx0000xxxxxxxxxxxxxxxxxxxxxxxx
                          adrp.  */
                          10987654321098765432109876543210
                          1xxx0000xxxxxxxxxxxxxxxxxxxxxxxx
                          adrp.  */
-                      return 1156;
+                      return 1187;
                     }
                 }
               else
                     }
                 }
               else
@@ -115,7 +115,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0000100x000xxxxx0xxxxxxxxxxxxxxx
                                                  stxrb.  */
                                                  10987654321098765432109876543210
                                                  0000100x000xxxxx0xxxxxxxxxxxxxxx
                                                  stxrb.  */
-                                              return 910;
+                                              return 936;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -123,7 +123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0100100x000xxxxx0xxxxxxxxxxxxxxx
                                                  stxrh.  */
                                                  10987654321098765432109876543210
                                                  0100100x000xxxxx0xxxxxxxxxxxxxxx
                                                  stxrh.  */
-                                              return 916;
+                                              return 942;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -132,7 +132,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x00100x000xxxxx0xxxxxxxxxxxxxxx
                                              stxr.  */
                                              10987654321098765432109876543210
                                              1x00100x000xxxxx0xxxxxxxxxxxxxxx
                                              stxr.  */
-                                          return 922;
+                                          return 948;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -143,7 +143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              0x00100x001xxxxx0xxxxxxxxxxxxxxx
                                              casp.  */
                                              10987654321098765432109876543210
                                              0x00100x001xxxxx0xxxxxxxxxxxxxxx
                                              casp.  */
-                                          return 990;
+                                          return 1021;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -151,7 +151,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x00100x001xxxxx0xxxxxxxxxxxxxxx
                                              stxp.  */
                                              10987654321098765432109876543210
                                              1x00100x001xxxxx0xxxxxxxxxxxxxxx
                                              stxp.  */
-                                          return 924;
+                                          return 950;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -167,7 +167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0000100x000xxxxx1xxxxxxxxxxxxxxx
                                                  stlxrb.  */
                                                  10987654321098765432109876543210
                                                  0000100x000xxxxx1xxxxxxxxxxxxxxx
                                                  stlxrb.  */
-                                              return 911;
+                                              return 937;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -175,7 +175,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0100100x000xxxxx1xxxxxxxxxxxxxxx
                                                  stlxrh.  */
                                                  10987654321098765432109876543210
                                                  0100100x000xxxxx1xxxxxxxxxxxxxxx
                                                  stlxrh.  */
-                                              return 917;
+                                              return 943;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -184,7 +184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x00100x000xxxxx1xxxxxxxxxxxxxxx
                                              stlxr.  */
                                              10987654321098765432109876543210
                                              1x00100x000xxxxx1xxxxxxxxxxxxxxx
                                              stlxr.  */
-                                          return 923;
+                                          return 949;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -195,7 +195,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              0x00100x001xxxxx1xxxxxxxxxxxxxxx
                                              caspl.  */
                                              10987654321098765432109876543210
                                              0x00100x001xxxxx1xxxxxxxxxxxxxxx
                                              caspl.  */
-                                          return 992;
+                                          return 1023;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -203,18 +203,29 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x00100x001xxxxx1xxxxxxxxxxxxxxx
                                              stlxp.  */
                                              10987654321098765432109876543210
                                              1x00100x001xxxxx1xxxxxxxxxxxxxxx
                                              stlxp.  */
-                                          return 925;
+                                          return 951;
                                         }
                                     }
                                 }
                             }
                           else
                             {
                                         }
                                     }
                                 }
                             }
                           else
                             {
-                              /* 33222222222211111111110000000000
-                                 10987654321098765432109876543210
-                                 xx10100x00xxxxxxxxxxxxxxxxxxxxxx
-                                 stnp.  */
-                              return 941;
+                              if (((word >> 30) & 0x1) == 0)
+                                {
+                                  /* 33222222222211111111110000000000
+                                     10987654321098765432109876543210
+                                     x010100x00xxxxxxxxxxxxxxxxxxxxxx
+                                     stnp.  */
+                                  return 970;
+                                }
+                              else
+                                {
+                                  /* 33222222222211111111110000000000
+                                     10987654321098765432109876543210
+                                     x110100x00xxxxxxxxxxxxxxxxxxxxxx
+                                     stgp.  */
+                                  return 979;
+                                }
                             }
                         }
                       else
                             }
                         }
                       else
@@ -231,7 +242,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              0x00100x100xxxxx0xxxxxxxxxxxxxxx
                                              stllrb.  */
                                              10987654321098765432109876543210
                                              0x00100x100xxxxx0xxxxxxxxxxxxxxx
                                              stllrb.  */
-                                          return 939;
+                                          return 968;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -239,7 +250,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x00100x100xxxxx0xxxxxxxxxxxxxxx
                                              stllr.  */
                                              10987654321098765432109876543210
                                              1x00100x100xxxxx0xxxxxxxxxxxxxxx
                                              stllr.  */
-                                          return 938;
+                                          return 967;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -252,7 +263,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0000100x101xxxxx0xxxxxxxxxxxxxxx
                                                  casb.  */
                                                  10987654321098765432109876543210
                                                  0000100x101xxxxx0xxxxxxxxxxxxxxx
                                                  casb.  */
-                                              return 978;
+                                              return 1009;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -260,7 +271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0100100x101xxxxx0xxxxxxxxxxxxxxx
                                                  cash.  */
                                                  10987654321098765432109876543210
                                                  0100100x101xxxxx0xxxxxxxxxxxxxxx
                                                  cash.  */
-                                              return 979;
+                                              return 1010;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -269,7 +280,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x00100x101xxxxx0xxxxxxxxxxxxxxx
                                              cas.  */
                                              10987654321098765432109876543210
                                              1x00100x101xxxxx0xxxxxxxxxxxxxxx
                                              cas.  */
-                                          return 980;
+                                          return 1011;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -285,7 +296,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0000100x100xxxxx1xxxxxxxxxxxxxxx
                                                  stlrb.  */
                                                  10987654321098765432109876543210
                                                  0000100x100xxxxx1xxxxxxxxxxxxxxx
                                                  stlrb.  */
-                                              return 914;
+                                              return 940;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -293,7 +304,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0100100x100xxxxx1xxxxxxxxxxxxxxx
                                                  stlrh.  */
                                                  10987654321098765432109876543210
                                                  0100100x100xxxxx1xxxxxxxxxxxxxxx
                                                  stlrh.  */
-                                              return 920;
+                                              return 946;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -302,7 +313,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x00100x100xxxxx1xxxxxxxxxxxxxxx
                                              stlr.  */
                                              10987654321098765432109876543210
                                              1x00100x100xxxxx1xxxxxxxxxxxxxxx
                                              stlr.  */
-                                          return 930;
+                                          return 956;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -315,7 +326,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0000100x101xxxxx1xxxxxxxxxxxxxxx
                                                  caslb.  */
                                                  10987654321098765432109876543210
                                                  0000100x101xxxxx1xxxxxxxxxxxxxxx
                                                  caslb.  */
-                                              return 982;
+                                              return 1013;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -323,7 +334,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0100100x101xxxxx1xxxxxxxxxxxxxxx
                                                  caslh.  */
                                                  10987654321098765432109876543210
                                                  0100100x101xxxxx1xxxxxxxxxxxxxxx
                                                  caslh.  */
-                                              return 985;
+                                              return 1016;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -332,18 +343,29 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x00100x101xxxxx1xxxxxxxxxxxxxxx
                                              casl.  */
                                              10987654321098765432109876543210
                                              1x00100x101xxxxx1xxxxxxxxxxxxxxx
                                              casl.  */
-                                          return 988;
+                                          return 1019;
                                         }
                                     }
                                 }
                             }
                           else
                             {
                                         }
                                     }
                                 }
                             }
                           else
                             {
-                              /* 33222222222211111111110000000000
-                                 10987654321098765432109876543210
-                                 xx10100x10xxxxxxxxxxxxxxxxxxxxxx
-                                 stp.  */
-                              return 950;
+                              if (((word >> 30) & 0x1) == 0)
+                                {
+                                  /* 33222222222211111111110000000000
+                                     10987654321098765432109876543210
+                                     x010100x10xxxxxxxxxxxxxxxxxxxxxx
+                                     stp.  */
+                                  return 980;
+                                }
+                              else
+                                {
+                                  /* 33222222222211111111110000000000
+                                     10987654321098765432109876543210
+                                     x110100x10xxxxxxxxxxxxxxxxxxxxxx
+                                     stgp.  */
+                                  return 985;
+                                }
                             }
                         }
                     }
                             }
                         }
                     }
@@ -365,7 +387,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0000100x010xxxxx0xxxxxxxxxxxxxxx
                                                  ldxrb.  */
                                                  10987654321098765432109876543210
                                                  0000100x010xxxxx0xxxxxxxxxxxxxxx
                                                  ldxrb.  */
-                                              return 912;
+                                              return 938;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -373,7 +395,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0100100x010xxxxx0xxxxxxxxxxxxxxx
                                                  ldxrh.  */
                                                  10987654321098765432109876543210
                                                  0100100x010xxxxx0xxxxxxxxxxxxxxx
                                                  ldxrh.  */
-                                              return 918;
+                                              return 944;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -382,7 +404,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x00100x010xxxxx0xxxxxxxxxxxxxxx
                                              ldxr.  */
                                              10987654321098765432109876543210
                                              1x00100x010xxxxx0xxxxxxxxxxxxxxx
                                              ldxr.  */
-                                          return 926;
+                                          return 952;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -393,7 +415,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              0x00100x011xxxxx0xxxxxxxxxxxxxxx
                                              caspa.  */
                                              10987654321098765432109876543210
                                              0x00100x011xxxxx0xxxxxxxxxxxxxxx
                                              caspa.  */
-                                          return 991;
+                                          return 1022;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -401,7 +423,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x00100x011xxxxx0xxxxxxxxxxxxxxx
                                              ldxp.  */
                                              10987654321098765432109876543210
                                              1x00100x011xxxxx0xxxxxxxxxxxxxxx
                                              ldxp.  */
-                                          return 928;
+                                          return 954;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -417,7 +439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0000100x010xxxxx1xxxxxxxxxxxxxxx
                                                  ldaxrb.  */
                                                  10987654321098765432109876543210
                                                  0000100x010xxxxx1xxxxxxxxxxxxxxx
                                                  ldaxrb.  */
-                                              return 913;
+                                              return 939;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -425,7 +447,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0100100x010xxxxx1xxxxxxxxxxxxxxx
                                                  ldaxrh.  */
                                                  10987654321098765432109876543210
                                                  0100100x010xxxxx1xxxxxxxxxxxxxxx
                                                  ldaxrh.  */
-                                              return 919;
+                                              return 945;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -434,7 +456,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x00100x010xxxxx1xxxxxxxxxxxxxxx
                                              ldaxr.  */
                                              10987654321098765432109876543210
                                              1x00100x010xxxxx1xxxxxxxxxxxxxxx
                                              ldaxr.  */
-                                          return 927;
+                                          return 953;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -445,7 +467,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              0x00100x011xxxxx1xxxxxxxxxxxxxxx
                                              caspal.  */
                                              10987654321098765432109876543210
                                              0x00100x011xxxxx1xxxxxxxxxxxxxxx
                                              caspal.  */
-                                          return 993;
+                                          return 1024;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -453,7 +475,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x00100x011xxxxx1xxxxxxxxxxxxxxx
                                              ldaxp.  */
                                              10987654321098765432109876543210
                                              1x00100x011xxxxx1xxxxxxxxxxxxxxx
                                              ldaxp.  */
-                                          return 929;
+                                          return 955;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -466,7 +488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      x010100x01xxxxxxxxxxxxxxxxxxxxxx
                                      ldnp.  */
                                      10987654321098765432109876543210
                                      x010100x01xxxxxxxxxxxxxxxxxxxxxx
                                      ldnp.  */
-                                  return 942;
+                                  return 971;
                                 }
                               else
                                 {
                                 }
                               else
                                 {
@@ -474,7 +496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      x110100x01xxxxxxxxxxxxxxxxxxxxxx
                                      ldpsw.  */
                                      10987654321098765432109876543210
                                      x110100x01xxxxxxxxxxxxxxxxxxxxxx
                                      ldpsw.  */
-                                  return 949;
+                                  return 978;
                                 }
                             }
                         }
                                 }
                             }
                         }
@@ -494,7 +516,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0000100x110xxxxx0xxxxxxxxxxxxxxx
                                                  ldlarb.  */
                                                  10987654321098765432109876543210
                                                  0000100x110xxxxx0xxxxxxxxxxxxxxx
                                                  ldlarb.  */
-                                              return 936;
+                                              return 965;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -502,7 +524,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0100100x110xxxxx0xxxxxxxxxxxxxxx
                                                  ldlarh.  */
                                                  10987654321098765432109876543210
                                                  0100100x110xxxxx0xxxxxxxxxxxxxxx
                                                  ldlarh.  */
-                                              return 937;
+                                              return 966;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -511,7 +533,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x00100x110xxxxx0xxxxxxxxxxxxxxx
                                              ldlar.  */
                                              10987654321098765432109876543210
                                              1x00100x110xxxxx0xxxxxxxxxxxxxxx
                                              ldlar.  */
-                                          return 935;
+                                          return 964;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -524,7 +546,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0000100x111xxxxx0xxxxxxxxxxxxxxx
                                                  casab.  */
                                                  10987654321098765432109876543210
                                                  0000100x111xxxxx0xxxxxxxxxxxxxxx
                                                  casab.  */
-                                              return 981;
+                                              return 1012;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -532,7 +554,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0100100x111xxxxx0xxxxxxxxxxxxxxx
                                                  casah.  */
                                                  10987654321098765432109876543210
                                                  0100100x111xxxxx0xxxxxxxxxxxxxxx
                                                  casah.  */
-                                              return 984;
+                                              return 1015;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -541,7 +563,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x00100x111xxxxx0xxxxxxxxxxxxxxx
                                              casa.  */
                                              10987654321098765432109876543210
                                              1x00100x111xxxxx0xxxxxxxxxxxxxxx
                                              casa.  */
-                                          return 987;
+                                          return 1018;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -557,7 +579,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0000100x110xxxxx1xxxxxxxxxxxxxxx
                                                  ldarb.  */
                                                  10987654321098765432109876543210
                                                  0000100x110xxxxx1xxxxxxxxxxxxxxx
                                                  ldarb.  */
-                                              return 915;
+                                              return 941;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -565,7 +587,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0100100x110xxxxx1xxxxxxxxxxxxxxx
                                                  ldarh.  */
                                                  10987654321098765432109876543210
                                                  0100100x110xxxxx1xxxxxxxxxxxxxxx
                                                  ldarh.  */
-                                              return 921;
+                                              return 947;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -574,7 +596,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x00100x110xxxxx1xxxxxxxxxxxxxxx
                                              ldar.  */
                                              10987654321098765432109876543210
                                              1x00100x110xxxxx1xxxxxxxxxxxxxxx
                                              ldar.  */
-                                          return 931;
+                                          return 957;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -587,7 +609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0000100x111xxxxx1xxxxxxxxxxxxxxx
                                                  casalb.  */
                                                  10987654321098765432109876543210
                                                  0000100x111xxxxx1xxxxxxxxxxxxxxx
                                                  casalb.  */
-                                              return 983;
+                                              return 1014;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -595,7 +617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0100100x111xxxxx1xxxxxxxxxxxxxxx
                                                  casalh.  */
                                                  10987654321098765432109876543210
                                                  0100100x111xxxxx1xxxxxxxxxxxxxxx
                                                  casalh.  */
-                                              return 986;
+                                              return 1017;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -604,7 +626,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x00100x111xxxxx1xxxxxxxxxxxxxxx
                                              casal.  */
                                              10987654321098765432109876543210
                                              1x00100x111xxxxx1xxxxxxxxxxxxxxx
                                              casal.  */
-                                          return 989;
+                                          return 1020;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -617,7 +639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      x010100x11xxxxxxxxxxxxxxxxxxxxxx
                                      ldp.  */
                                      10987654321098765432109876543210
                                      x010100x11xxxxxxxxxxxxxxxxxxxxxx
                                      ldp.  */
-                                  return 951;
+                                  return 981;
                                 }
                               else
                                 {
                                 }
                               else
                                 {
@@ -625,7 +647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      x110100x11xxxxxxxxxxxxxxxxxxxxxx
                                      ldpsw.  */
                                      10987654321098765432109876543210
                                      x110100x11xxxxxxxxxxxxxxxxxxxxxx
                                      ldpsw.  */
-                                  return 954;
+                                  return 984;
                                 }
                             }
                         }
                                 }
                             }
                         }
@@ -643,7 +665,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  0x011000xxxxxxxxxxxxxxxxxxxxxxxx
                                  ldr.  */
                                  10987654321098765432109876543210
                                  0x011000xxxxxxxxxxxxxxxxxxxxxxxx
                                  ldr.  */
-                              return 955;
+                              return 986;
                             }
                           else
                             {
                             }
                           else
                             {
@@ -653,7 +675,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      10011000xxxxxxxxxxxxxxxxxxxxxxxx
                                      ldrsw.  */
                                      10987654321098765432109876543210
                                      10011000xxxxxxxxxxxxxxxxxxxxxxxx
                                      ldrsw.  */
-                                  return 957;
+                                  return 988;
                                 }
                               else
                                 {
                                 }
                               else
                                 {
@@ -661,7 +683,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      11011000xxxxxxxxxxxxxxxxxxxxxxxx
                                      prfm.  */
                                      10987654321098765432109876543210
                                      11011000xxxxxxxxxxxxxxxxxxxxxxxx
                                      prfm.  */
-                                  return 958;
+                                  return 989;
                                 }
                             }
                         }
                                 }
                             }
                         }
@@ -685,7 +707,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          00111000000xxxxxxxxx00xxxxxxxxxx
                                                          sturb.  */
                                                          10987654321098765432109876543210
                                                          00111000000xxxxxxxxx00xxxxxxxxxx
                                                          sturb.  */
-                                                      return 896;
+                                                      return 921;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -693,7 +715,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          01111000000xxxxxxxxx00xxxxxxxxxx
                                                          sturh.  */
                                                          10987654321098765432109876543210
                                                          01111000000xxxxxxxxx00xxxxxxxxxx
                                                          sturh.  */
-                                                      return 901;
+                                                      return 926;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -702,7 +724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      1x111000000xxxxxxxxx00xxxxxxxxxx
                                                      stur.  */
                                                      10987654321098765432109876543210
                                                      1x111000000xxxxxxxxx00xxxxxxxxxx
                                                      stur.  */
-                                                  return 904;
+                                                  return 929;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -715,7 +737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          00111000010xxxxxxxxx00xxxxxxxxxx
                                                          ldurb.  */
                                                          10987654321098765432109876543210
                                                          00111000010xxxxxxxxx00xxxxxxxxxx
                                                          ldurb.  */
-                                                      return 897;
+                                                      return 922;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -723,7 +745,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          01111000010xxxxxxxxx00xxxxxxxxxx
                                                          ldurh.  */
                                                          10987654321098765432109876543210
                                                          01111000010xxxxxxxxx00xxxxxxxxxx
                                                          ldurh.  */
-                                                      return 902;
+                                                      return 927;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -732,7 +754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      1x111000010xxxxxxxxx00xxxxxxxxxx
                                                      ldur.  */
                                                      10987654321098765432109876543210
                                                      1x111000010xxxxxxxxx00xxxxxxxxxx
                                                      ldur.  */
-                                                  return 905;
+                                                  return 930;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -746,7 +768,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001110001x0xxxxxxxxx00xxxxxxxxxx
                                                      ldursb.  */
                                                      10987654321098765432109876543210
                                                      001110001x0xxxxxxxxx00xxxxxxxxxx
                                                      ldursb.  */
-                                                  return 898;
+                                                  return 923;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -754,7 +776,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101110001x0xxxxxxxxx00xxxxxxxxxx
                                                      ldursw.  */
                                                      10987654321098765432109876543210
                                                      101110001x0xxxxxxxxx00xxxxxxxxxx
                                                      ldursw.  */
-                                                  return 906;
+                                                  return 931;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -765,7 +787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      011110001x0xxxxxxxxx00xxxxxxxxxx
                                                      ldursh.  */
                                                      10987654321098765432109876543210
                                                      011110001x0xxxxxxxxx00xxxxxxxxxx
                                                      ldursh.  */
-                                                  return 903;
+                                                  return 928;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -773,7 +795,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111110001x0xxxxxxxxx00xxxxxxxxxx
                                                      prfum.  */
                                                      10987654321098765432109876543210
                                                      111110001x0xxxxxxxxx00xxxxxxxxxx
                                                      prfum.  */
-                                                  return 907;
+                                                  return 932;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -800,7 +822,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          00111000001xxxxx000000xxxxxxxxxx
                                                                          ldaddb.  */
                                                                          10987654321098765432109876543210
                                                                          00111000001xxxxx000000xxxxxxxxxx
                                                                          ldaddb.  */
-                                                                      return 1006;
+                                                                      return 1037;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -808,7 +830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          01111000001xxxxx000000xxxxxxxxxx
                                                                          ldaddh.  */
                                                                          10987654321098765432109876543210
                                                                          01111000001xxxxx000000xxxxxxxxxx
                                                                          ldaddh.  */
-                                                                      return 1007;
+                                                                      return 1038;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -817,7 +839,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      1x111000001xxxxx000000xxxxxxxxxx
                                                                      ldadd.  */
                                                                      10987654321098765432109876543210
                                                                      1x111000001xxxxx000000xxxxxxxxxx
                                                                      ldadd.  */
-                                                                  return 1008;
+                                                                  return 1039;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -830,7 +852,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          00111000101xxxxx000000xxxxxxxxxx
                                                                          ldaddab.  */
                                                                          10987654321098765432109876543210
                                                                          00111000101xxxxx000000xxxxxxxxxx
                                                                          ldaddab.  */
-                                                                      return 1009;
+                                                                      return 1040;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -838,7 +860,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          01111000101xxxxx000000xxxxxxxxxx
                                                                          ldaddah.  */
                                                                          10987654321098765432109876543210
                                                                          01111000101xxxxx000000xxxxxxxxxx
                                                                          ldaddah.  */
-                                                                      return 1012;
+                                                                      return 1043;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -847,7 +869,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      1x111000101xxxxx000000xxxxxxxxxx
                                                                      ldadda.  */
                                                                      10987654321098765432109876543210
                                                                      1x111000101xxxxx000000xxxxxxxxxx
                                                                      ldadda.  */
-                                                                  return 1015;
+                                                                  return 1046;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -863,7 +885,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          00111000011xxxxx000000xxxxxxxxxx
                                                                          ldaddlb.  */
                                                                          10987654321098765432109876543210
                                                                          00111000011xxxxx000000xxxxxxxxxx
                                                                          ldaddlb.  */
-                                                                      return 1010;
+                                                                      return 1041;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -871,7 +893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          01111000011xxxxx000000xxxxxxxxxx
                                                                          ldaddlh.  */
                                                                          10987654321098765432109876543210
                                                                          01111000011xxxxx000000xxxxxxxxxx
                                                                          ldaddlh.  */
-                                                                      return 1013;
+                                                                      return 1044;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -880,7 +902,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      1x111000011xxxxx000000xxxxxxxxxx
                                                                      ldaddl.  */
                                                                      10987654321098765432109876543210
                                                                      1x111000011xxxxx000000xxxxxxxxxx
                                                                      ldaddl.  */
-                                                                  return 1016;
+                                                                  return 1047;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -893,7 +915,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          00111000111xxxxx000000xxxxxxxxxx
                                                                          ldaddalb.  */
                                                                          10987654321098765432109876543210
                                                                          00111000111xxxxx000000xxxxxxxxxx
                                                                          ldaddalb.  */
-                                                                      return 1011;
+                                                                      return 1042;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -901,7 +923,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          01111000111xxxxx000000xxxxxxxxxx
                                                                          ldaddalh.  */
                                                                          10987654321098765432109876543210
                                                                          01111000111xxxxx000000xxxxxxxxxx
                                                                          ldaddalh.  */
-                                                                      return 1014;
+                                                                      return 1045;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -910,7 +932,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      1x111000111xxxxx000000xxxxxxxxxx
                                                                      ldaddal.  */
                                                                      10987654321098765432109876543210
                                                                      1x111000111xxxxx000000xxxxxxxxxx
                                                                      ldaddal.  */
-                                                                  return 1017;
+                                                                  return 1048;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -929,7 +951,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          00111000001xxxxx100000xxxxxxxxxx
                                                                          swpb.  */
                                                                          10987654321098765432109876543210
                                                                          00111000001xxxxx100000xxxxxxxxxx
                                                                          swpb.  */
-                                                                      return 994;
+                                                                      return 1025;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -937,7 +959,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          01111000001xxxxx100000xxxxxxxxxx
                                                                          swph.  */
                                                                          10987654321098765432109876543210
                                                                          01111000001xxxxx100000xxxxxxxxxx
                                                                          swph.  */
-                                                                      return 995;
+                                                                      return 1026;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -946,7 +968,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      1x111000001xxxxx100000xxxxxxxxxx
                                                                      swp.  */
                                                                      10987654321098765432109876543210
                                                                      1x111000001xxxxx100000xxxxxxxxxx
                                                                      swp.  */
-                                                                  return 996;
+                                                                  return 1027;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -959,7 +981,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          00111000101xxxxx100000xxxxxxxxxx
                                                                          swpab.  */
                                                                          10987654321098765432109876543210
                                                                          00111000101xxxxx100000xxxxxxxxxx
                                                                          swpab.  */
-                                                                      return 997;
+                                                                      return 1028;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -967,7 +989,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          01111000101xxxxx100000xxxxxxxxxx
                                                                          swpah.  */
                                                                          10987654321098765432109876543210
                                                                          01111000101xxxxx100000xxxxxxxxxx
                                                                          swpah.  */
-                                                                      return 1000;
+                                                                      return 1031;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -976,7 +998,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      1x111000101xxxxx100000xxxxxxxxxx
                                                                      swpa.  */
                                                                      10987654321098765432109876543210
                                                                      1x111000101xxxxx100000xxxxxxxxxx
                                                                      swpa.  */
-                                                                  return 1003;
+                                                                  return 1034;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -992,7 +1014,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          00111000011xxxxx100000xxxxxxxxxx
                                                                          swplb.  */
                                                                          10987654321098765432109876543210
                                                                          00111000011xxxxx100000xxxxxxxxxx
                                                                          swplb.  */
-                                                                      return 998;
+                                                                      return 1029;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -1000,7 +1022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          01111000011xxxxx100000xxxxxxxxxx
                                                                          swplh.  */
                                                                          10987654321098765432109876543210
                                                                          01111000011xxxxx100000xxxxxxxxxx
                                                                          swplh.  */
-                                                                      return 1001;
+                                                                      return 1032;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -1009,7 +1031,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      1x111000011xxxxx100000xxxxxxxxxx
                                                                      swpl.  */
                                                                      10987654321098765432109876543210
                                                                      1x111000011xxxxx100000xxxxxxxxxx
                                                                      swpl.  */
-                                                                  return 1004;
+                                                                  return 1035;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1022,7 +1044,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          00111000111xxxxx100000xxxxxxxxxx
                                                                          swpalb.  */
                                                                          10987654321098765432109876543210
                                                                          00111000111xxxxx100000xxxxxxxxxx
                                                                          swpalb.  */
-                                                                      return 999;
+                                                                      return 1030;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -1030,7 +1052,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          01111000111xxxxx100000xxxxxxxxxx
                                                                          swpalh.  */
                                                                          10987654321098765432109876543210
                                                                          01111000111xxxxx100000xxxxxxxxxx
                                                                          swpalh.  */
-                                                                      return 1002;
+                                                                      return 1033;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -1039,7 +1061,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      1x111000111xxxxx100000xxxxxxxxxx
                                                                      swpal.  */
                                                                      10987654321098765432109876543210
                                                                      1x111000111xxxxx100000xxxxxxxxxx
                                                                      swpal.  */
-                                                                  return 1005;
+                                                                  return 1036;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -1061,7 +1083,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          00111000001xxxxx010000xxxxxxxxxx
                                                                          ldsmaxb.  */
                                                                          10987654321098765432109876543210
                                                                          00111000001xxxxx010000xxxxxxxxxx
                                                                          ldsmaxb.  */
-                                                                      return 1054;
+                                                                      return 1085;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -1069,7 +1091,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          01111000001xxxxx010000xxxxxxxxxx
                                                                          ldsmaxh.  */
                                                                          10987654321098765432109876543210
                                                                          01111000001xxxxx010000xxxxxxxxxx
                                                                          ldsmaxh.  */
-                                                                      return 1055;
+                                                                      return 1086;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -1078,7 +1100,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      1x111000001xxxxx010000xxxxxxxxxx
                                                                      ldsmax.  */
                                                                      10987654321098765432109876543210
                                                                      1x111000001xxxxx010000xxxxxxxxxx
                                                                      ldsmax.  */
-                                                                  return 1056;
+                                                                  return 1087;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1091,7 +1113,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          00111000101xxxxx010000xxxxxxxxxx
                                                                          ldsmaxab.  */
                                                                          10987654321098765432109876543210
                                                                          00111000101xxxxx010000xxxxxxxxxx
                                                                          ldsmaxab.  */
-                                                                      return 1057;
+                                                                      return 1088;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -1099,7 +1121,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          01111000101xxxxx010000xxxxxxxxxx
                                                                          ldsmaxah.  */
                                                                          10987654321098765432109876543210
                                                                          01111000101xxxxx010000xxxxxxxxxx
                                                                          ldsmaxah.  */
-                                                                      return 1060;
+                                                                      return 1091;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -1108,7 +1130,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      1x111000101xxxxx010000xxxxxxxxxx
                                                                      ldsmaxa.  */
                                                                      10987654321098765432109876543210
                                                                      1x111000101xxxxx010000xxxxxxxxxx
                                                                      ldsmaxa.  */
-                                                                  return 1063;
+                                                                  return 1094;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -1124,7 +1146,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          00111000011xxxxx010000xxxxxxxxxx
                                                                          ldsmaxlb.  */
                                                                          10987654321098765432109876543210
                                                                          00111000011xxxxx010000xxxxxxxxxx
                                                                          ldsmaxlb.  */
-                                                                      return 1058;
+                                                                      return 1089;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -1132,7 +1154,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          01111000011xxxxx010000xxxxxxxxxx
                                                                          ldsmaxlh.  */
                                                                          10987654321098765432109876543210
                                                                          01111000011xxxxx010000xxxxxxxxxx
                                                                          ldsmaxlh.  */
-                                                                      return 1061;
+                                                                      return 1092;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -1141,7 +1163,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      1x111000011xxxxx010000xxxxxxxxxx
                                                                      ldsmaxl.  */
                                                                      10987654321098765432109876543210
                                                                      1x111000011xxxxx010000xxxxxxxxxx
                                                                      ldsmaxl.  */
-                                                                  return 1064;
+                                                                  return 1095;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1154,7 +1176,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          00111000111xxxxx010000xxxxxxxxxx
                                                                          ldsmaxalb.  */
                                                                          10987654321098765432109876543210
                                                                          00111000111xxxxx010000xxxxxxxxxx
                                                                          ldsmaxalb.  */
-                                                                      return 1059;
+                                                                      return 1090;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -1162,7 +1184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          01111000111xxxxx010000xxxxxxxxxx
                                                                          ldsmaxalh.  */
                                                                          10987654321098765432109876543210
                                                                          01111000111xxxxx010000xxxxxxxxxx
                                                                          ldsmaxalh.  */
-                                                                      return 1062;
+                                                                      return 1093;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -1171,7 +1193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      1x111000111xxxxx010000xxxxxxxxxx
                                                                      ldsmaxal.  */
                                                                      10987654321098765432109876543210
                                                                      1x111000111xxxxx010000xxxxxxxxxx
                                                                      ldsmaxal.  */
-                                                                  return 1065;
+                                                                  return 1096;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -1186,7 +1208,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00111000xx1xxxxx110000xxxxxxxxxx
                                                                  ldaprb.  */
                                                                  10987654321098765432109876543210
                                                                  00111000xx1xxxxx110000xxxxxxxxxx
                                                                  ldaprb.  */
-                                                              return 932;
+                                                              return 958;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -1194,7 +1216,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01111000xx1xxxxx110000xxxxxxxxxx
                                                                  ldaprh.  */
                                                                  10987654321098765432109876543210
                                                                  01111000xx1xxxxx110000xxxxxxxxxx
                                                                  ldaprh.  */
-                                                              return 933;
+                                                              return 959;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -1203,7 +1225,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              1x111000xx1xxxxx110000xxxxxxxxxx
                                                              ldapr.  */
                                                              10987654321098765432109876543210
                                                              1x111000xx1xxxxx110000xxxxxxxxxx
                                                              ldapr.  */
-                                                          return 934;
+                                                          return 960;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -1224,7 +1246,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000001xxxxxx01000xxxxxxxxxx
                                                                      ldeorb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000001xxxxxx01000xxxxxxxxxx
                                                                      ldeorb.  */
-                                                                  return 1030;
+                                                                  return 1061;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1232,7 +1254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000001xxxxxx01000xxxxxxxxxx
                                                                      ldeorh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000001xxxxxx01000xxxxxxxxxx
                                                                      ldeorh.  */
-                                                                  return 1031;
+                                                                  return 1062;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1241,7 +1263,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000001xxxxxx01000xxxxxxxxxx
                                                                  ldeor.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000001xxxxxx01000xxxxxxxxxx
                                                                  ldeor.  */
-                                                              return 1032;
+                                                              return 1063;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -1254,7 +1276,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000101xxxxxx01000xxxxxxxxxx
                                                                      ldeorab.  */
                                                                      10987654321098765432109876543210
                                                                      00111000101xxxxxx01000xxxxxxxxxx
                                                                      ldeorab.  */
-                                                                  return 1033;
+                                                                  return 1064;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1262,7 +1284,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000101xxxxxx01000xxxxxxxxxx
                                                                      ldeorah.  */
                                                                      10987654321098765432109876543210
                                                                      01111000101xxxxxx01000xxxxxxxxxx
                                                                      ldeorah.  */
-                                                                  return 1036;
+                                                                  return 1067;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1271,7 +1293,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000101xxxxxx01000xxxxxxxxxx
                                                                  ldeora.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000101xxxxxx01000xxxxxxxxxx
                                                                  ldeora.  */
-                                                              return 1039;
+                                                              return 1070;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -1287,7 +1309,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000011xxxxxx01000xxxxxxxxxx
                                                                      ldeorlb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000011xxxxxx01000xxxxxxxxxx
                                                                      ldeorlb.  */
-                                                                  return 1034;
+                                                                  return 1065;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1295,7 +1317,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000011xxxxxx01000xxxxxxxxxx
                                                                      ldeorlh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000011xxxxxx01000xxxxxxxxxx
                                                                      ldeorlh.  */
-                                                                  return 1037;
+                                                                  return 1068;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1304,7 +1326,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000011xxxxxx01000xxxxxxxxxx
                                                                  ldeorl.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000011xxxxxx01000xxxxxxxxxx
                                                                  ldeorl.  */
-                                                              return 1040;
+                                                              return 1071;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -1317,7 +1339,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000111xxxxxx01000xxxxxxxxxx
                                                                      ldeoralb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000111xxxxxx01000xxxxxxxxxx
                                                                      ldeoralb.  */
-                                                                  return 1035;
+                                                                  return 1066;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1325,7 +1347,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000111xxxxxx01000xxxxxxxxxx
                                                                      ldeoralh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000111xxxxxx01000xxxxxxxxxx
                                                                      ldeoralh.  */
-                                                                  return 1038;
+                                                                  return 1069;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1334,7 +1356,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000111xxxxxx01000xxxxxxxxxx
                                                                  ldeoral.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000111xxxxxx01000xxxxxxxxxx
                                                                  ldeoral.  */
-                                                              return 1041;
+                                                              return 1072;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -1353,7 +1375,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000001xxxxxx11000xxxxxxxxxx
                                                                      ldumaxb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000001xxxxxx11000xxxxxxxxxx
                                                                      ldumaxb.  */
-                                                                  return 1078;
+                                                                  return 1109;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1361,7 +1383,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000001xxxxxx11000xxxxxxxxxx
                                                                      ldumaxh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000001xxxxxx11000xxxxxxxxxx
                                                                      ldumaxh.  */
-                                                                  return 1079;
+                                                                  return 1110;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1370,7 +1392,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000001xxxxxx11000xxxxxxxxxx
                                                                  ldumax.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000001xxxxxx11000xxxxxxxxxx
                                                                  ldumax.  */
-                                                              return 1080;
+                                                              return 1111;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -1383,7 +1405,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000101xxxxxx11000xxxxxxxxxx
                                                                      ldumaxab.  */
                                                                      10987654321098765432109876543210
                                                                      00111000101xxxxxx11000xxxxxxxxxx
                                                                      ldumaxab.  */
-                                                                  return 1081;
+                                                                  return 1112;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1391,7 +1413,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000101xxxxxx11000xxxxxxxxxx
                                                                      ldumaxah.  */
                                                                      10987654321098765432109876543210
                                                                      01111000101xxxxxx11000xxxxxxxxxx
                                                                      ldumaxah.  */
-                                                                  return 1084;
+                                                                  return 1115;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1400,7 +1422,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000101xxxxxx11000xxxxxxxxxx
                                                                  ldumaxa.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000101xxxxxx11000xxxxxxxxxx
                                                                  ldumaxa.  */
-                                                              return 1087;
+                                                              return 1118;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -1416,7 +1438,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000011xxxxxx11000xxxxxxxxxx
                                                                      ldumaxlb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000011xxxxxx11000xxxxxxxxxx
                                                                      ldumaxlb.  */
-                                                                  return 1082;
+                                                                  return 1113;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1424,7 +1446,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000011xxxxxx11000xxxxxxxxxx
                                                                      ldumaxlh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000011xxxxxx11000xxxxxxxxxx
                                                                      ldumaxlh.  */
-                                                                  return 1085;
+                                                                  return 1116;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1433,7 +1455,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000011xxxxxx11000xxxxxxxxxx
                                                                  ldumaxl.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000011xxxxxx11000xxxxxxxxxx
                                                                  ldumaxl.  */
-                                                              return 1088;
+                                                              return 1119;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -1446,7 +1468,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000111xxxxxx11000xxxxxxxxxx
                                                                      ldumaxalb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000111xxxxxx11000xxxxxxxxxx
                                                                      ldumaxalb.  */
-                                                                  return 1083;
+                                                                  return 1114;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1454,7 +1476,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000111xxxxxx11000xxxxxxxxxx
                                                                      ldumaxalh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000111xxxxxx11000xxxxxxxxxx
                                                                      ldumaxalh.  */
-                                                                  return 1086;
+                                                                  return 1117;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1463,7 +1485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000111xxxxxx11000xxxxxxxxxx
                                                                  ldumaxal.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000111xxxxxx11000xxxxxxxxxx
                                                                  ldumaxal.  */
-                                                              return 1089;
+                                                              return 1120;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -1488,7 +1510,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000001xxxxxx00100xxxxxxxxxx
                                                                      ldclrb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000001xxxxxx00100xxxxxxxxxx
                                                                      ldclrb.  */
-                                                                  return 1018;
+                                                                  return 1049;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1496,7 +1518,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000001xxxxxx00100xxxxxxxxxx
                                                                      ldclrh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000001xxxxxx00100xxxxxxxxxx
                                                                      ldclrh.  */
-                                                                  return 1019;
+                                                                  return 1050;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1505,7 +1527,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000001xxxxxx00100xxxxxxxxxx
                                                                  ldclr.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000001xxxxxx00100xxxxxxxxxx
                                                                  ldclr.  */
-                                                              return 1020;
+                                                              return 1051;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -1518,7 +1540,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000101xxxxxx00100xxxxxxxxxx
                                                                      ldclrab.  */
                                                                      10987654321098765432109876543210
                                                                      00111000101xxxxxx00100xxxxxxxxxx
                                                                      ldclrab.  */
-                                                                  return 1021;
+                                                                  return 1052;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1526,7 +1548,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000101xxxxxx00100xxxxxxxxxx
                                                                      ldclrah.  */
                                                                      10987654321098765432109876543210
                                                                      01111000101xxxxxx00100xxxxxxxxxx
                                                                      ldclrah.  */
-                                                                  return 1024;
+                                                                  return 1055;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1535,7 +1557,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000101xxxxxx00100xxxxxxxxxx
                                                                  ldclra.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000101xxxxxx00100xxxxxxxxxx
                                                                  ldclra.  */
-                                                              return 1027;
+                                                              return 1058;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -1551,7 +1573,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000011xxxxxx00100xxxxxxxxxx
                                                                      ldclrlb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000011xxxxxx00100xxxxxxxxxx
                                                                      ldclrlb.  */
-                                                                  return 1022;
+                                                                  return 1053;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1559,7 +1581,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000011xxxxxx00100xxxxxxxxxx
                                                                      ldclrlh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000011xxxxxx00100xxxxxxxxxx
                                                                      ldclrlh.  */
-                                                                  return 1025;
+                                                                  return 1056;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1568,7 +1590,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000011xxxxxx00100xxxxxxxxxx
                                                                  ldclrl.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000011xxxxxx00100xxxxxxxxxx
                                                                  ldclrl.  */
-                                                              return 1028;
+                                                              return 1059;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -1581,7 +1603,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000111xxxxxx00100xxxxxxxxxx
                                                                      ldclralb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000111xxxxxx00100xxxxxxxxxx
                                                                      ldclralb.  */
-                                                                  return 1023;
+                                                                  return 1054;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1589,7 +1611,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000111xxxxxx00100xxxxxxxxxx
                                                                      ldclralh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000111xxxxxx00100xxxxxxxxxx
                                                                      ldclralh.  */
-                                                                  return 1026;
+                                                                  return 1057;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1598,7 +1620,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000111xxxxxx00100xxxxxxxxxx
                                                                  ldclral.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000111xxxxxx00100xxxxxxxxxx
                                                                  ldclral.  */
-                                                              return 1029;
+                                                              return 1060;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -1617,7 +1639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000001xxxxxx10100xxxxxxxxxx
                                                                      ldsminb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000001xxxxxx10100xxxxxxxxxx
                                                                      ldsminb.  */
-                                                                  return 1066;
+                                                                  return 1097;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1625,7 +1647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000001xxxxxx10100xxxxxxxxxx
                                                                      ldsminh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000001xxxxxx10100xxxxxxxxxx
                                                                      ldsminh.  */
-                                                                  return 1067;
+                                                                  return 1098;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1634,7 +1656,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000001xxxxxx10100xxxxxxxxxx
                                                                  ldsmin.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000001xxxxxx10100xxxxxxxxxx
                                                                  ldsmin.  */
-                                                              return 1068;
+                                                              return 1099;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -1647,7 +1669,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000101xxxxxx10100xxxxxxxxxx
                                                                      ldsminab.  */
                                                                      10987654321098765432109876543210
                                                                      00111000101xxxxxx10100xxxxxxxxxx
                                                                      ldsminab.  */
-                                                                  return 1069;
+                                                                  return 1100;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1655,7 +1677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000101xxxxxx10100xxxxxxxxxx
                                                                      ldsminah.  */
                                                                      10987654321098765432109876543210
                                                                      01111000101xxxxxx10100xxxxxxxxxx
                                                                      ldsminah.  */
-                                                                  return 1072;
+                                                                  return 1103;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1664,7 +1686,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000101xxxxxx10100xxxxxxxxxx
                                                                  ldsmina.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000101xxxxxx10100xxxxxxxxxx
                                                                  ldsmina.  */
-                                                              return 1075;
+                                                              return 1106;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -1680,7 +1702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000011xxxxxx10100xxxxxxxxxx
                                                                      ldsminlb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000011xxxxxx10100xxxxxxxxxx
                                                                      ldsminlb.  */
-                                                                  return 1070;
+                                                                  return 1101;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1688,7 +1710,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000011xxxxxx10100xxxxxxxxxx
                                                                      ldsminlh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000011xxxxxx10100xxxxxxxxxx
                                                                      ldsminlh.  */
-                                                                  return 1073;
+                                                                  return 1104;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1697,7 +1719,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000011xxxxxx10100xxxxxxxxxx
                                                                  ldsminl.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000011xxxxxx10100xxxxxxxxxx
                                                                  ldsminl.  */
-                                                              return 1076;
+                                                              return 1107;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -1710,7 +1732,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000111xxxxxx10100xxxxxxxxxx
                                                                      ldsminalb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000111xxxxxx10100xxxxxxxxxx
                                                                      ldsminalb.  */
-                                                                  return 1071;
+                                                                  return 1102;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1718,7 +1740,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000111xxxxxx10100xxxxxxxxxx
                                                                      ldsminalh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000111xxxxxx10100xxxxxxxxxx
                                                                      ldsminalh.  */
-                                                                  return 1074;
+                                                                  return 1105;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1727,7 +1749,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000111xxxxxx10100xxxxxxxxxx
                                                                  ldsminal.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000111xxxxxx10100xxxxxxxxxx
                                                                  ldsminal.  */
-                                                              return 1077;
+                                                              return 1108;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -1749,7 +1771,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000001xxxxxx01100xxxxxxxxxx
                                                                      ldsetb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000001xxxxxx01100xxxxxxxxxx
                                                                      ldsetb.  */
-                                                                  return 1042;
+                                                                  return 1073;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1757,7 +1779,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000001xxxxxx01100xxxxxxxxxx
                                                                      ldseth.  */
                                                                      10987654321098765432109876543210
                                                                      01111000001xxxxxx01100xxxxxxxxxx
                                                                      ldseth.  */
-                                                                  return 1043;
+                                                                  return 1074;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1766,7 +1788,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000001xxxxxx01100xxxxxxxxxx
                                                                  ldset.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000001xxxxxx01100xxxxxxxxxx
                                                                  ldset.  */
-                                                              return 1044;
+                                                              return 1075;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -1779,7 +1801,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000101xxxxxx01100xxxxxxxxxx
                                                                      ldsetab.  */
                                                                      10987654321098765432109876543210
                                                                      00111000101xxxxxx01100xxxxxxxxxx
                                                                      ldsetab.  */
-                                                                  return 1045;
+                                                                  return 1076;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1787,7 +1809,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000101xxxxxx01100xxxxxxxxxx
                                                                      ldsetah.  */
                                                                      10987654321098765432109876543210
                                                                      01111000101xxxxxx01100xxxxxxxxxx
                                                                      ldsetah.  */
-                                                                  return 1048;
+                                                                  return 1079;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1796,7 +1818,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000101xxxxxx01100xxxxxxxxxx
                                                                  ldseta.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000101xxxxxx01100xxxxxxxxxx
                                                                  ldseta.  */
-                                                              return 1051;
+                                                              return 1082;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -1812,7 +1834,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000011xxxxxx01100xxxxxxxxxx
                                                                      ldsetlb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000011xxxxxx01100xxxxxxxxxx
                                                                      ldsetlb.  */
-                                                                  return 1046;
+                                                                  return 1077;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1820,7 +1842,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000011xxxxxx01100xxxxxxxxxx
                                                                      ldsetlh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000011xxxxxx01100xxxxxxxxxx
                                                                      ldsetlh.  */
-                                                                  return 1049;
+                                                                  return 1080;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1829,7 +1851,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000011xxxxxx01100xxxxxxxxxx
                                                                  ldsetl.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000011xxxxxx01100xxxxxxxxxx
                                                                  ldsetl.  */
-                                                              return 1052;
+                                                              return 1083;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -1842,7 +1864,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000111xxxxxx01100xxxxxxxxxx
                                                                      ldsetalb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000111xxxxxx01100xxxxxxxxxx
                                                                      ldsetalb.  */
-                                                                  return 1047;
+                                                                  return 1078;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1850,7 +1872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000111xxxxxx01100xxxxxxxxxx
                                                                      ldsetalh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000111xxxxxx01100xxxxxxxxxx
                                                                      ldsetalh.  */
-                                                                  return 1050;
+                                                                  return 1081;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1859,7 +1881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000111xxxxxx01100xxxxxxxxxx
                                                                  ldsetal.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000111xxxxxx01100xxxxxxxxxx
                                                                  ldsetal.  */
-                                                              return 1053;
+                                                              return 1084;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -1878,7 +1900,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000001xxxxxx11100xxxxxxxxxx
                                                                      lduminb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000001xxxxxx11100xxxxxxxxxx
                                                                      lduminb.  */
-                                                                  return 1090;
+                                                                  return 1121;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1886,7 +1908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000001xxxxxx11100xxxxxxxxxx
                                                                      lduminh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000001xxxxxx11100xxxxxxxxxx
                                                                      lduminh.  */
-                                                                  return 1091;
+                                                                  return 1122;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1895,7 +1917,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000001xxxxxx11100xxxxxxxxxx
                                                                  ldumin.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000001xxxxxx11100xxxxxxxxxx
                                                                  ldumin.  */
-                                                              return 1092;
+                                                              return 1123;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -1908,7 +1930,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000101xxxxxx11100xxxxxxxxxx
                                                                      lduminab.  */
                                                                      10987654321098765432109876543210
                                                                      00111000101xxxxxx11100xxxxxxxxxx
                                                                      lduminab.  */
-                                                                  return 1093;
+                                                                  return 1124;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1916,7 +1938,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000101xxxxxx11100xxxxxxxxxx
                                                                      lduminah.  */
                                                                      10987654321098765432109876543210
                                                                      01111000101xxxxxx11100xxxxxxxxxx
                                                                      lduminah.  */
-                                                                  return 1096;
+                                                                  return 1127;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1925,7 +1947,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000101xxxxxx11100xxxxxxxxxx
                                                                  ldumina.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000101xxxxxx11100xxxxxxxxxx
                                                                  ldumina.  */
-                                                              return 1099;
+                                                              return 1130;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -1941,7 +1963,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000011xxxxxx11100xxxxxxxxxx
                                                                      lduminlb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000011xxxxxx11100xxxxxxxxxx
                                                                      lduminlb.  */
-                                                                  return 1094;
+                                                                  return 1125;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1949,7 +1971,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000011xxxxxx11100xxxxxxxxxx
                                                                      lduminlh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000011xxxxxx11100xxxxxxxxxx
                                                                      lduminlh.  */
-                                                                  return 1097;
+                                                                  return 1128;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1958,7 +1980,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000011xxxxxx11100xxxxxxxxxx
                                                                  lduminl.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000011xxxxxx11100xxxxxxxxxx
                                                                  lduminl.  */
-                                                              return 1100;
+                                                              return 1131;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -1971,7 +1993,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00111000111xxxxxx11100xxxxxxxxxx
                                                                      lduminalb.  */
                                                                      10987654321098765432109876543210
                                                                      00111000111xxxxxx11100xxxxxxxxxx
                                                                      lduminalb.  */
-                                                                  return 1095;
+                                                                  return 1126;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -1979,7 +2001,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01111000111xxxxxx11100xxxxxxxxxx
                                                                      lduminalh.  */
                                                                      10987654321098765432109876543210
                                                                      01111000111xxxxxx11100xxxxxxxxxx
                                                                      lduminalh.  */
-                                                                  return 1098;
+                                                                  return 1129;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -1988,7 +2010,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x111000111xxxxxx11100xxxxxxxxxx
                                                                  lduminal.  */
                                                                  10987654321098765432109876543210
                                                                  1x111000111xxxxxx11100xxxxxxxxxx
                                                                  lduminal.  */
-                                                              return 1101;
+                                                              return 1132;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -2013,7 +2035,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          00111000000xxxxxxxxx10xxxxxxxxxx
                                                          sttrb.  */
                                                          10987654321098765432109876543210
                                                          00111000000xxxxxxxxx10xxxxxxxxxx
                                                          sttrb.  */
-                                                      return 887;
+                                                      return 912;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -2021,7 +2043,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          01111000000xxxxxxxxx10xxxxxxxxxx
                                                          sttrh.  */
                                                          10987654321098765432109876543210
                                                          01111000000xxxxxxxxx10xxxxxxxxxx
                                                          sttrh.  */
-                                                      return 890;
+                                                      return 915;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -2030,7 +2052,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      1x111000000xxxxxxxxx10xxxxxxxxxx
                                                      sttr.  */
                                                      10987654321098765432109876543210
                                                      1x111000000xxxxxxxxx10xxxxxxxxxx
                                                      sttr.  */
-                                                  return 893;
+                                                  return 918;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -2043,7 +2065,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          00111000010xxxxxxxxx10xxxxxxxxxx
                                                          ldtrb.  */
                                                          10987654321098765432109876543210
                                                          00111000010xxxxxxxxx10xxxxxxxxxx
                                                          ldtrb.  */
-                                                      return 888;
+                                                      return 913;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -2051,7 +2073,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          01111000010xxxxxxxxx10xxxxxxxxxx
                                                          ldtrh.  */
                                                          10987654321098765432109876543210
                                                          01111000010xxxxxxxxx10xxxxxxxxxx
                                                          ldtrh.  */
-                                                      return 891;
+                                                      return 916;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -2060,7 +2082,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      1x111000010xxxxxxxxx10xxxxxxxxxx
                                                      ldtr.  */
                                                      10987654321098765432109876543210
                                                      1x111000010xxxxxxxxx10xxxxxxxxxx
                                                      ldtr.  */
-                                                  return 894;
+                                                  return 919;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -2074,7 +2096,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001110001x0xxxxxxxxx10xxxxxxxxxx
                                                      ldtrsb.  */
                                                      10987654321098765432109876543210
                                                      001110001x0xxxxxxxxx10xxxxxxxxxx
                                                      ldtrsb.  */
-                                                  return 889;
+                                                  return 914;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -2082,7 +2104,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101110001x0xxxxxxxxx10xxxxxxxxxx
                                                      ldtrsw.  */
                                                      10987654321098765432109876543210
                                                      101110001x0xxxxxxxxx10xxxxxxxxxx
                                                      ldtrsw.  */
-                                                  return 895;
+                                                  return 920;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -2091,7 +2113,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x11110001x0xxxxxxxxx10xxxxxxxxxx
                                                  ldtrsh.  */
                                                  10987654321098765432109876543210
                                                  x11110001x0xxxxxxxxx10xxxxxxxxxx
                                                  ldtrsh.  */
-                                              return 892;
+                                              return 917;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -2109,7 +2131,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          00111000001xxxxxxxxx10xxxxxxxxxx
                                                          strb.  */
                                                          10987654321098765432109876543210
                                                          00111000001xxxxxxxxx10xxxxxxxxxx
                                                          strb.  */
-                                                      return 875;
+                                                      return 900;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -2117,7 +2139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          01111000001xxxxxxxxx10xxxxxxxxxx
                                                          strh.  */
                                                          10987654321098765432109876543210
                                                          01111000001xxxxxxxxx10xxxxxxxxxx
                                                          strh.  */
-                                                      return 880;
+                                                      return 905;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -2126,7 +2148,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      1x111000001xxxxxxxxx10xxxxxxxxxx
                                                      str.  */
                                                      10987654321098765432109876543210
                                                      1x111000001xxxxxxxxx10xxxxxxxxxx
                                                      str.  */
-                                                  return 883;
+                                                  return 908;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -2139,7 +2161,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          00111000011xxxxxxxxx10xxxxxxxxxx
                                                          ldrb.  */
                                                          10987654321098765432109876543210
                                                          00111000011xxxxxxxxx10xxxxxxxxxx
                                                          ldrb.  */
-                                                      return 876;
+                                                      return 901;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -2147,7 +2169,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          01111000011xxxxxxxxx10xxxxxxxxxx
                                                          ldrh.  */
                                                          10987654321098765432109876543210
                                                          01111000011xxxxxxxxx10xxxxxxxxxx
                                                          ldrh.  */
-                                                      return 881;
+                                                      return 906;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -2156,7 +2178,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      1x111000011xxxxxxxxx10xxxxxxxxxx
                                                      ldr.  */
                                                      10987654321098765432109876543210
                                                      1x111000011xxxxxxxxx10xxxxxxxxxx
                                                      ldr.  */
-                                                  return 884;
+                                                  return 909;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -2170,7 +2192,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001110001x1xxxxxxxxx10xxxxxxxxxx
                                                      ldrsb.  */
                                                      10987654321098765432109876543210
                                                      001110001x1xxxxxxxxx10xxxxxxxxxx
                                                      ldrsb.  */
-                                                  return 877;
+                                                  return 902;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -2178,7 +2200,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101110001x1xxxxxxxxx10xxxxxxxxxx
                                                      ldrsw.  */
                                                      10987654321098765432109876543210
                                                      101110001x1xxxxxxxxx10xxxxxxxxxx
                                                      ldrsw.  */
-                                                  return 885;
+                                                  return 910;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -2189,7 +2211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      011110001x1xxxxxxxxx10xxxxxxxxxx
                                                      ldrsh.  */
                                                      10987654321098765432109876543210
                                                      011110001x1xxxxxxxxx10xxxxxxxxxx
                                                      ldrsh.  */
-                                                  return 882;
+                                                  return 907;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -2197,7 +2219,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111110001x1xxxxxxxxx10xxxxxxxxxx
                                                      prfm.  */
                                                      10987654321098765432109876543210
                                                      111110001x1xxxxxxxxx10xxxxxxxxxx
                                                      prfm.  */
-                                                  return 886;
+                                                  return 911;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -2220,7 +2242,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      00111000000xxxxxxxxxx1xxxxxxxxxx
                                                      strb.  */
                                                      10987654321098765432109876543210
                                                      00111000000xxxxxxxxxx1xxxxxxxxxx
                                                      strb.  */
-                                                  return 852;
+                                                  return 869;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -2228,7 +2250,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      01111000000xxxxxxxxxx1xxxxxxxxxx
                                                      strh.  */
                                                      10987654321098765432109876543210
                                                      01111000000xxxxxxxxxx1xxxxxxxxxx
                                                      strh.  */
-                                                  return 857;
+                                                  return 874;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -2237,7 +2259,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  1x111000000xxxxxxxxxx1xxxxxxxxxx
                                                  str.  */
                                                  10987654321098765432109876543210
                                                  1x111000000xxxxxxxxxx1xxxxxxxxxx
                                                  str.  */
-                                              return 860;
+                                              return 877;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -2250,7 +2272,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      00111000010xxxxxxxxxx1xxxxxxxxxx
                                                      ldrb.  */
                                                      10987654321098765432109876543210
                                                      00111000010xxxxxxxxxx1xxxxxxxxxx
                                                      ldrb.  */
-                                                  return 853;
+                                                  return 870;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -2258,7 +2280,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      01111000010xxxxxxxxxx1xxxxxxxxxx
                                                      ldrh.  */
                                                      10987654321098765432109876543210
                                                      01111000010xxxxxxxxxx1xxxxxxxxxx
                                                      ldrh.  */
-                                                  return 858;
+                                                  return 875;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -2267,7 +2289,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  1x111000010xxxxxxxxxx1xxxxxxxxxx
                                                  ldr.  */
                                                  10987654321098765432109876543210
                                                  1x111000010xxxxxxxxxx1xxxxxxxxxx
                                                  ldr.  */
-                                              return 861;
+                                              return 878;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -2281,7 +2303,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  001110001x0xxxxxxxxxx1xxxxxxxxxx
                                                  ldrsb.  */
                                                  10987654321098765432109876543210
                                                  001110001x0xxxxxxxxxx1xxxxxxxxxx
                                                  ldrsb.  */
-                                              return 854;
+                                              return 871;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -2289,7 +2311,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  101110001x0xxxxxxxxxx1xxxxxxxxxx
                                                  ldrsw.  */
                                                  10987654321098765432109876543210
                                                  101110001x0xxxxxxxxxx1xxxxxxxxxx
                                                  ldrsw.  */
-                                              return 862;
+                                              return 879;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -2298,7 +2320,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x11110001x0xxxxxxxxxx1xxxxxxxxxx
                                              ldrsh.  */
                                              10987654321098765432109876543210
                                              x11110001x0xxxxxxxxxx1xxxxxxxxxx
                                              ldrsh.  */
-                                          return 859;
+                                          return 876;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -2310,7 +2332,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx1110000x1xxxxxxxxxx1xxxxxxxxxx
                                          ldraa.  */
                                          10987654321098765432109876543210
                                          xx1110000x1xxxxxxxxxx1xxxxxxxxxx
                                          ldraa.  */
-                                      return 908;
+                                      return 934;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -2318,7 +2340,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx1110001x1xxxxxxxxxx1xxxxxxxxxx
                                          ldrab.  */
                                          10987654321098765432109876543210
                                          xx1110001x1xxxxxxxxxx1xxxxxxxxxx
                                          ldrab.  */
-                                      return 909;
+                                      return 935;
                                     }
                                 }
                             }
                                     }
                                 }
                             }
@@ -2332,43 +2354,76 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               if (((word >> 29) & 0x1) == 0)
                                 {
                             {
                               if (((word >> 29) & 0x1) == 0)
                                 {
-                                  if (((word >> 30) & 0x1) == 0)
+                                  if (((word >> 10) & 0x1) == 0)
                                     {
                                     {
-                                      if (((word >> 31) & 0x1) == 0)
+                                      if (((word >> 11) & 0x1) == 0)
                                         {
                                         {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             0001100100xxxxxxxxxxxxxxxxxxxxxx
-                                             stlurb.  */
-                                          return 2046;
+                                          if (((word >> 21) & 0x1) == 0)
+                                            {
+                                              if (((word >> 30) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 31) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         00011001000xxxxxxxxx00xxxxxxxxxx
+                                                         stlurb.  */
+                                                      return 2377;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         10011001000xxxxxxxxx00xxxxxxxxxx
+                                                         stlur.  */
+                                                      return 2385;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 31) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         01011001000xxxxxxxxx00xxxxxxxxxx
+                                                         stlurh.  */
+                                                      return 2381;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         11011001000xxxxxxxxx00xxxxxxxxxx
+                                                         stlur.  */
+                                                      return 2388;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xx011001001xxxxxxxxx00xxxxxxxxxx
+                                                 stzgm.  */
+                                              return 963;
+                                            }
                                         }
                                       else
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
                                         }
                                       else
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             1001100100xxxxxxxxxxxxxxxxxxxxxx
-                                             stlur.  */
-                                          return 2054;
+                                             xx01100100xxxxxxxxxx10xxxxxxxxxx
+                                             stg.  */
+                                          return 880;
                                         }
                                     }
                                   else
                                     {
                                         }
                                     }
                                   else
                                     {
-                                      if (((word >> 31) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             0101100100xxxxxxxxxxxxxxxxxxxxxx
-                                             stlurh.  */
-                                          return 2050;
-                                        }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             1101100100xxxxxxxxxxxxxxxxxxxxxx
-                                             stlur.  */
-                                          return 2057;
-                                        }
+                                      /* 33222222222211111111110000000000
+                                         10987654321098765432109876543210
+                                         xx01100100xxxxxxxxxxx1xxxxxxxxxx
+                                         stg.  */
+                                      return 884;
                                     }
                                 }
                               else
                                     }
                                 }
                               else
@@ -2381,7 +2436,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              0011100100xxxxxxxxxxxxxxxxxxxxxx
                                              strb.  */
                                              10987654321098765432109876543210
                                              0011100100xxxxxxxxxxxxxxxxxxxxxx
                                              strb.  */
-                                          return 863;
+                                          return 888;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -2389,7 +2444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              0111100100xxxxxxxxxxxxxxxxxxxxxx
                                              strh.  */
                                              10987654321098765432109876543210
                                              0111100100xxxxxxxxxxxxxxxxxxxxxx
                                              strh.  */
-                                          return 868;
+                                          return 893;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -2398,7 +2453,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          1x11100100xxxxxxxxxxxxxxxxxxxxxx
                                          str.  */
                                          10987654321098765432109876543210
                                          1x11100100xxxxxxxxxxxxxxxxxxxxxx
                                          str.  */
-                                      return 871;
+                                      return 896;
                                     }
                                 }
                             }
                                     }
                                 }
                             }
@@ -2406,43 +2461,76 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               if (((word >> 29) & 0x1) == 0)
                                 {
                             {
                               if (((word >> 29) & 0x1) == 0)
                                 {
-                                  if (((word >> 30) & 0x1) == 0)
+                                  if (((word >> 10) & 0x1) == 0)
                                     {
                                     {
-                                      if (((word >> 31) & 0x1) == 0)
+                                      if (((word >> 11) & 0x1) == 0)
                                         {
                                         {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             0001100101xxxxxxxxxxxxxxxxxxxxxx
-                                             ldapurb.  */
-                                          return 2047;
+                                          if (((word >> 21) & 0x1) == 0)
+                                            {
+                                              if (((word >> 30) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 31) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         00011001010xxxxxxxxx00xxxxxxxxxx
+                                                         ldapurb.  */
+                                                      return 2378;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         10011001010xxxxxxxxx00xxxxxxxxxx
+                                                         ldapur.  */
+                                                      return 2386;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 31) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         01011001010xxxxxxxxx00xxxxxxxxxx
+                                                         ldapurh.  */
+                                                      return 2382;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         11011001010xxxxxxxxx00xxxxxxxxxx
+                                                         ldapur.  */
+                                                      return 2389;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xx011001011xxxxxxxxx00xxxxxxxxxx
+                                                 ldg.  */
+                                              return 933;
+                                            }
                                         }
                                       else
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
                                         }
                                       else
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             1001100101xxxxxxxxxxxxxxxxxxxxxx
-                                             ldapur.  */
-                                          return 2055;
+                                             xx01100101xxxxxxxxxx10xxxxxxxxxx
+                                             stzg.  */
+                                          return 881;
                                         }
                                     }
                                   else
                                     {
                                         }
                                     }
                                   else
                                     {
-                                      if (((word >> 31) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             0101100101xxxxxxxxxxxxxxxxxxxxxx
-                                             ldapurh.  */
-                                          return 2051;
-                                        }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             1101100101xxxxxxxxxxxxxxxxxxxxxx
-                                             ldapur.  */
-                                          return 2058;
-                                        }
+                                      /* 33222222222211111111110000000000
+                                         10987654321098765432109876543210
+                                         xx01100101xxxxxxxxxxx1xxxxxxxxxx
+                                         stzg.  */
+                                      return 885;
                                     }
                                 }
                               else
                                     }
                                 }
                               else
@@ -2455,7 +2543,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              0011100101xxxxxxxxxxxxxxxxxxxxxx
                                              ldrb.  */
                                              10987654321098765432109876543210
                                              0011100101xxxxxxxxxxxxxxxxxxxxxx
                                              ldrb.  */
-                                          return 864;
+                                          return 889;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -2463,7 +2551,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              0111100101xxxxxxxxxxxxxxxxxxxxxx
                                              ldrh.  */
                                              10987654321098765432109876543210
                                              0111100101xxxxxxxxxxxxxxxxxxxxxx
                                              ldrh.  */
-                                          return 869;
+                                          return 894;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -2472,7 +2560,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          1x11100101xxxxxxxxxxxxxxxxxxxxxx
                                          ldr.  */
                                          10987654321098765432109876543210
                                          1x11100101xxxxxxxxxxxxxxxxxxxxxx
                                          ldr.  */
-                                      return 872;
+                                      return 897;
                                     }
                                 }
                             }
                                     }
                                 }
                             }
@@ -2481,53 +2569,119 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           if (((word >> 29) & 0x1) == 0)
                             {
                         {
                           if (((word >> 29) & 0x1) == 0)
                             {
-                              if (((word >> 22) & 0x1) == 0)
+                              if (((word >> 10) & 0x1) == 0)
                                 {
                                 {
-                                  if (((word >> 30) & 0x1) == 0)
+                                  if (((word >> 11) & 0x1) == 0)
                                     {
                                     {
-                                      if (((word >> 31) & 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 2380;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         10011001100xxxxxxxxx00xxxxxxxxxx
+                                                         ldapursw.  */
+                                                      return 2387;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x1011001100xxxxxxxxx00xxxxxxxxxx
+                                                     ldapursh.  */
+                                                  return 2384;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 30) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x0011001110xxxxxxxxx00xxxxxxxxxx
+                                                     ldapursb.  */
+                                                  return 2379;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x1011001110xxxxxxxxx00xxxxxxxxxx
+                                                     ldapursh.  */
+                                                  return 2383;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xx011001101xxxxxxxxx00xxxxxxxxxx
+                                                 stgm.  */
+                                              return 962;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xx011001111xxxxxxxxx00xxxxxxxxxx
+                                                 ldgm.  */
+                                              return 961;
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 22) & 0x1) == 0)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             0001100110xxxxxxxxxxxxxxxxxxxxxx
-                                             ldapursb.  */
-                                          return 2049;
+                                             xx01100110xxxxxxxxxx10xxxxxxxxxx
+                                             st2g.  */
+                                          return 882;
                                         }
                                       else
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
                                         }
                                       else
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             1001100110xxxxxxxxxxxxxxxxxxxxxx
-                                             ldapursw.  */
-                                          return 2056;
+                                             xx01100111xxxxxxxxxx10xxxxxxxxxx
+                                             stz2g.  */
+                                          return 883;
                                         }
                                     }
                                         }
                                     }
-                                  else
-                                    {
-                                      /* 33222222222211111111110000000000
-                                         10987654321098765432109876543210
-                                         x101100110xxxxxxxxxxxxxxxxxxxxxx
-                                         ldapursh.  */
-                                      return 2053;
-                                    }
                                 }
                               else
                                 {
                                 }
                               else
                                 {
-                                  if (((word >> 30) & 0x1) == 0)
+                                  if (((word >> 22) & 0x1) == 0)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         x001100111xxxxxxxxxxxxxxxxxxxxxx
-                                         ldapursb.  */
-                                      return 2048;
+                                         xx01100110xxxxxxxxxxx1xxxxxxxxxx
+                                         st2g.  */
+                                      return 886;
                                     }
                                   else
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
                                     }
                                   else
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         x101100111xxxxxxxxxxxxxxxxxxxxxx
-                                         ldapursh.  */
-                                      return 2052;
+                                         xx01100111xxxxxxxxxxx1xxxxxxxxxx
+                                         stz2g.  */
+                                      return 887;
                                     }
                                 }
                             }
                                     }
                                 }
                             }
@@ -2541,7 +2695,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          001110011xxxxxxxxxxxxxxxxxxxxxxx
                                          ldrsb.  */
                                          10987654321098765432109876543210
                                          001110011xxxxxxxxxxxxxxxxxxxxxxx
                                          ldrsb.  */
-                                      return 865;
+                                      return 890;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -2549,7 +2703,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          101110011xxxxxxxxxxxxxxxxxxxxxxx
                                          ldrsw.  */
                                          10987654321098765432109876543210
                                          101110011xxxxxxxxxxxxxxxxxxxxxxx
                                          ldrsw.  */
-                                      return 873;
+                                      return 898;
                                     }
                                 }
                               else
                                     }
                                 }
                               else
@@ -2560,7 +2714,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          011110011xxxxxxxxxxxxxxxxxxxxxxx
                                          ldrsh.  */
                                          10987654321098765432109876543210
                                          011110011xxxxxxxxxxxxxxxxxxxxxxx
                                          ldrsh.  */
-                                      return 870;
+                                      return 895;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -2568,7 +2722,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          111110011xxxxxxxxxxxxxxxxxxxxxxx
                                          prfm.  */
                                          10987654321098765432109876543210
                                          111110011xxxxxxxxxxxxxxxxxxxxxxx
                                          prfm.  */
-                                      return 874;
+                                      return 899;
                                     }
                                 }
                             }
                                     }
                                 }
                             }
@@ -2593,7 +2747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  x00x00100xxxxxxxxxxxxxxxxxxxxxxx
                                  and.  */
                                  10987654321098765432109876543210
                                  x00x00100xxxxxxxxxxxxxxxxxxxxxxx
                                  and.  */
-                              return 959;
+                              return 990;
                             }
                           else
                             {
                             }
                           else
                             {
@@ -2601,7 +2755,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  x10x00100xxxxxxxxxxxxxxxxxxxxxxx
                                  eor.  */
                                  10987654321098765432109876543210
                                  x10x00100xxxxxxxxxxxxxxxxxxxxxxx
                                  eor.  */
-                              return 963;
+                              return 994;
                             }
                         }
                       else
                             }
                         }
                       else
@@ -2612,7 +2766,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  x01x00100xxxxxxxxxxxxxxxxxxxxxxx
                                  orr.  */
                                  10987654321098765432109876543210
                                  x01x00100xxxxxxxxxxxxxxxxxxxxxxx
                                  orr.  */
-                              return 961;
+                              return 992;
                             }
                           else
                             {
                             }
                           else
                             {
@@ -2620,7 +2774,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  x11x00100xxxxxxxxxxxxxxxxxxxxxxx
                                  ands.  */
                                  10987654321098765432109876543210
                                  x11x00100xxxxxxxxxxxxxxxxxxxxxxx
                                  ands.  */
-                              return 964;
+                              return 995;
                             }
                         }
                     }
                             }
                         }
                     }
@@ -2634,7 +2788,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  x00x00101xxxxxxxxxxxxxxxxxxxxxxx
                                  movn.  */
                                  10987654321098765432109876543210
                                  x00x00101xxxxxxxxxxxxxxxxxxxxxxx
                                  movn.  */
-                              return 1150;
+                              return 1181;
                             }
                           else
                             {
                             }
                           else
                             {
@@ -2642,7 +2796,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  x10x00101xxxxxxxxxxxxxxxxxxxxxxx
                                  movz.  */
                                  10987654321098765432109876543210
                                  x10x00101xxxxxxxxxxxxxxxxxxxxxxx
                                  movz.  */
-                              return 1152;
+                              return 1183;
                             }
                         }
                       else
                             }
                         }
                       else
@@ -2651,7 +2805,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xx1x00101xxxxxxxxxxxxxxxxxxxxxxx
                              movk.  */
                              10987654321098765432109876543210
                              xx1x00101xxxxxxxxxxxxxxxxxxxxxxx
                              movk.  */
-                          return 1154;
+                          return 1185;
                         }
                     }
                 }
                         }
                     }
                 }
@@ -2669,7 +2823,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      x0001010xx0xxxxxxxxxxxxxxxxxxxxx
                                      and.  */
                                      10987654321098765432109876543210
                                      x0001010xx0xxxxxxxxxxxxxxxxxxxxx
                                      and.  */
-                                  return 966;
+                                  return 997;
                                 }
                               else
                                 {
                                 }
                               else
                                 {
@@ -2677,7 +2831,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      x1001010xx0xxxxxxxxxxxxxxxxxxxxx
                                      eor.  */
                                      10987654321098765432109876543210
                                      x1001010xx0xxxxxxxxxxxxxxxxxxxxx
                                      eor.  */
-                                  return 973;
+                                  return 1004;
                                 }
                             }
                           else
                                 }
                             }
                           else
@@ -2688,7 +2842,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      x0101010xx0xxxxxxxxxxxxxxxxxxxxx
                                      orr.  */
                                      10987654321098765432109876543210
                                      x0101010xx0xxxxxxxxxxxxxxxxxxxxx
                                      orr.  */
-                                  return 968;
+                                  return 999;
                                 }
                               else
                                 {
                                 }
                               else
                                 {
@@ -2696,7 +2850,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      x1101010xx0xxxxxxxxxxxxxxxxxxxxx
                                      ands.  */
                                      10987654321098765432109876543210
                                      x1101010xx0xxxxxxxxxxxxxxxxxxxxx
                                      ands.  */
-                                  return 975;
+                                  return 1006;
                                 }
                             }
                         }
                                 }
                             }
                         }
@@ -2757,7 +2911,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x0x11010100xxxxxxxxx00xxxxxxxxxx
                                                  csel.  */
                                                  10987654321098765432109876543210
                                                  x0x11010100xxxxxxxxx00xxxxxxxxxx
                                                  csel.  */
-                                              return 656;
+                                              return 662;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -2765,7 +2919,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1x11010100xxxxxxxxx00xxxxxxxxxx
                                                  csinv.  */
                                                  10987654321098765432109876543210
                                                  x1x11010100xxxxxxxxx00xxxxxxxxxx
                                                  csinv.  */
-                                              return 660;
+                                              return 666;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -2779,7 +2933,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x0x11010010xxxxxxxxx00xxxxxxxxxx
                                                  ccmn.  */
                                                  10987654321098765432109876543210
                                                  x0x11010010xxxxxxxxx00xxxxxxxxxx
                                                  ccmn.  */
-                                              return 654;
+                                              return 660;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -2787,7 +2941,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1x11010010xxxxxxxxx00xxxxxxxxxx
                                                  ccmp.  */
                                                  10987654321098765432109876543210
                                                  x1x11010010xxxxxxxxx00xxxxxxxxxx
                                                  ccmp.  */
-                                              return 655;
+                                              return 661;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -2798,21 +2952,43 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   if (((word >> 14) & 0x1) == 0)
                                                     {
                                                 {
                                                   if (((word >> 14) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 16) & 0x1) == 0)
+                                                      if (((word >> 29) & 0x1) == 0)
                                                         {
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxx11010110xxxx0x00000xxxxxxxxxx
-                                                             rbit.  */
-                                                          return 679;
+                                                          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
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxx11010110xxxx1x00000xxxxxxxxxx
-                                                             pacia.  */
-                                                          return 687;
+                                                             xx111010110xxxxxx00000xxxxxxxxxx
+                                                             subps.  */
+                                                          return 722;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -2823,7 +2999,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0x11010110xxxxxx10000xxxxxxxxxx
                                                              crc32b.  */
                                                              10987654321098765432109876543210
                                                              x0x11010110xxxxxx10000xxxxxxxxxx
                                                              crc32b.  */
-                                                          return 716;
+                                                          return 727;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -2831,7 +3007,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1x11010110xxxxxx10000xxxxxxxxxx
                                                              xpaci.  */
                                                              10987654321098765432109876543210
                                                              x1x11010110xxxxxx10000xxxxxxxxxx
                                                              xpaci.  */
-                                                          return 703;
+                                                          return 709;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -2843,7 +3019,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x11010110xxxxxxx1000xxxxxxxxxx
                                                          lslv.  */
                                                          10987654321098765432109876543210
                                                          x0x11010110xxxxxxx1000xxxxxxxxxx
                                                          lslv.  */
-                                                      return 707;
+                                                      return 713;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -2851,7 +3027,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1x11010110xxxxxxx1000xxxxxxxxxx
                                                          paciza.  */
                                                          10987654321098765432109876543210
                                                          x1x11010110xxxxxxx1000xxxxxxxxxx
                                                          paciza.  */
-                                                      return 695;
+                                                      return 701;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -2861,21 +3037,32 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   if (((word >> 14) & 0x1) == 0)
                                                     {
                                                 {
                                                   if (((word >> 14) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 16) & 0x1) == 0)
+                                                      if (((word >> 30) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxx11010110xxxx0x00100xxxxxxxxxx
-                                                             clz.  */
-                                                          return 684;
+                                                             x0x11010110xxxxxx00100xxxxxxxxxx
+                                                             irg.  */
+                                                          return 724;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxx11010110xxxx1x00100xxxxxxxxxx
-                                                             autia.  */
-                                                          return 691;
+                                                          if (((word >> 16) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 x1x11010110xxxx0x00100xxxxxxxxxx
+                                                                 clz.  */
+                                                              return 690;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 x1x11010110xxxx1x00100xxxxxxxxxx
+                                                                 autia.  */
+                                                              return 697;
+                                                            }
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -2884,7 +3071,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx11010110xxxxxx10100xxxxxxxxxx
                                                          crc32cb.  */
                                                          10987654321098765432109876543210
                                                          xxx11010110xxxxxx10100xxxxxxxxxx
                                                          crc32cb.  */
-                                                      return 720;
+                                                      return 731;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -2895,7 +3082,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x11010110xxxxxxx1100xxxxxxxxxx
                                                          pacga.  */
                                                          10987654321098765432109876543210
                                                          x0x11010110xxxxxxx1100xxxxxxxxxx
                                                          pacga.  */
-                                                      return 715;
+                                                      return 726;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -2903,7 +3090,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1x11010110xxxxxxx1100xxxxxxxxxx
                                                          autiza.  */
                                                          10987654321098765432109876543210
                                                          x1x11010110xxxxxxx1100xxxxxxxxxx
                                                          autiza.  */
-                                                      return 699;
+                                                      return 705;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -2920,7 +3107,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxx11010x00xxxxxx0xx10xxxxxxxxxx
                                              setf8.  */
                                              10987654321098765432109876543210
                                              xxx11010x00xxxxxx0xx10xxxxxxxxxx
                                              setf8.  */
-                                          return 2044;
+                                          return 2375;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -2928,7 +3115,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxx11010x00xxxxxx1xx10xxxxxxxxxx
                                              setf16.  */
                                              10987654321098765432109876543210
                                              xxx11010x00xxxxxx1xx10xxxxxxxxxx
                                              setf16.  */
-                                          return 2045;
+                                          return 2376;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -2941,7 +3128,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x0x11010010xxxxxxxxx10xxxxxxxxxx
                                                  ccmn.  */
                                                  10987654321098765432109876543210
                                                  x0x11010010xxxxxxxxx10xxxxxxxxxx
                                                  ccmn.  */
-                                              return 652;
+                                              return 658;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -2949,7 +3136,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1x11010010xxxxxxxxx10xxxxxxxxxx
                                                  ccmp.  */
                                                  10987654321098765432109876543210
                                                  x1x11010010xxxxxxxxx10xxxxxxxxxx
                                                  ccmp.  */
-                                              return 653;
+                                              return 659;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -2966,7 +3153,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0x11010110xxxxxx00010xxxxxxxxxx
                                                              udiv.  */
                                                              10987654321098765432109876543210
                                                              x0x11010110xxxxxx00010xxxxxxxxxx
                                                              udiv.  */
-                                                          return 705;
+                                                          return 711;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -2978,7 +3165,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01x11010110xxxx0x00010xxxxxxxxxx
                                                                      rev.  */
                                                                      10987654321098765432109876543210
                                                                      01x11010110xxxx0x00010xxxxxxxxxx
                                                                      rev.  */
-                                                                  return 681;
+                                                                  return 687;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -2986,7 +3173,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      11x11010110xxxx0x00010xxxxxxxxxx
                                                                      rev32.  */
                                                                      10987654321098765432109876543210
                                                                      11x11010110xxxx0x00010xxxxxxxxxx
                                                                      rev32.  */
-                                                                  return 686;
+                                                                  return 692;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -2995,7 +3182,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1x11010110xxxx1x00010xxxxxxxxxx
                                                                  pacda.  */
                                                                  10987654321098765432109876543210
                                                                  x1x11010110xxxx1x00010xxxxxxxxxx
                                                                  pacda.  */
-                                                              return 689;
+                                                              return 695;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -3005,7 +3192,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx11010110xxxxxx10010xxxxxxxxxx
                                                          crc32w.  */
                                                          10987654321098765432109876543210
                                                          xxx11010110xxxxxx10010xxxxxxxxxx
                                                          crc32w.  */
-                                                      return 718;
+                                                      return 729;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -3016,7 +3203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x11010110xxxxxxx1010xxxxxxxxxx
                                                          asrv.  */
                                                          10987654321098765432109876543210
                                                          x0x11010110xxxxxxx1010xxxxxxxxxx
                                                          asrv.  */
-                                                      return 711;
+                                                      return 717;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -3024,7 +3211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1x11010110xxxxxxx1010xxxxxxxxxx
                                                          pacdza.  */
                                                          10987654321098765432109876543210
                                                          x1x11010110xxxxxxx1010xxxxxxxxxx
                                                          pacdza.  */
-                                                      return 697;
+                                                      return 703;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -3038,7 +3225,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx11010110xxxxxx00110xxxxxxxxxx
                                                          autda.  */
                                                          10987654321098765432109876543210
                                                          xxx11010110xxxxxx00110xxxxxxxxxx
                                                          autda.  */
-                                                      return 693;
+                                                      return 699;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -3046,7 +3233,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx11010110xxxxxx10110xxxxxxxxxx
                                                          crc32cw.  */
                                                          10987654321098765432109876543210
                                                          xxx11010110xxxxxx10110xxxxxxxxxx
                                                          crc32cw.  */
-                                                      return 722;
+                                                      return 733;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -3055,7 +3242,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxx11010110xxxxxxx1110xxxxxxxxxx
                                                      autdza.  */
                                                      10987654321098765432109876543210
                                                      xxx11010110xxxxxxx1110xxxxxxxxxx
                                                      autdza.  */
-                                                  return 701;
+                                                  return 707;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -3074,7 +3261,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxx11010000xxxxxxxxx01xxxxxxxxxx
                                              rmif.  */
                                              10987654321098765432109876543210
                                              xxx11010000xxxxxxxxx01xxxxxxxxxx
                                              rmif.  */
-                                          return 2043;
+                                          return 2374;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -3084,7 +3271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x0x11010100xxxxxxxxx01xxxxxxxxxx
                                                  csinc.  */
                                                  10987654321098765432109876543210
                                                  x0x11010100xxxxxxxxx01xxxxxxxxxx
                                                  csinc.  */
-                                              return 657;
+                                              return 663;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -3092,7 +3279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1x11010100xxxxxxxxx01xxxxxxxxxx
                                                  csneg.  */
                                                  10987654321098765432109876543210
                                                  x1x11010100xxxxxxxxx01xxxxxxxxxx
                                                  csneg.  */
-                                              return 663;
+                                              return 669;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -3110,7 +3297,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx11010x10xxxx0x00001xxxxxxxxxx
                                                          rev16.  */
                                                          10987654321098765432109876543210
                                                          xxx11010x10xxxx0x00001xxxxxxxxxx
                                                          rev16.  */
-                                                      return 680;
+                                                      return 686;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -3118,7 +3305,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx11010x10xxxx1x00001xxxxxxxxxx
                                                          pacib.  */
                                                          10987654321098765432109876543210
                                                          xxx11010x10xxxx1x00001xxxxxxxxxx
                                                          pacib.  */
-                                                      return 688;
+                                                      return 694;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -3129,7 +3316,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x11010x10xxxxxx10001xxxxxxxxxx
                                                          crc32h.  */
                                                          10987654321098765432109876543210
                                                          x0x11010x10xxxxxx10001xxxxxxxxxx
                                                          crc32h.  */
-                                                      return 717;
+                                                      return 728;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -3137,7 +3324,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1x11010x10xxxxxx10001xxxxxxxxxx
                                                          xpacd.  */
                                                          10987654321098765432109876543210
                                                          x1x11010x10xxxxxx10001xxxxxxxxxx
                                                          xpacd.  */
-                                                      return 704;
+                                                      return 710;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -3149,7 +3336,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0x11010x10xxxxxxx1001xxxxxxxxxx
                                                      lsrv.  */
                                                      10987654321098765432109876543210
                                                      x0x11010x10xxxxxxx1001xxxxxxxxxx
                                                      lsrv.  */
-                                                  return 709;
+                                                  return 715;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -3157,7 +3344,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1x11010x10xxxxxxx1001xxxxxxxxxx
                                                      pacizb.  */
                                                      10987654321098765432109876543210
                                                      x1x11010x10xxxxxxx1001xxxxxxxxxx
                                                      pacizb.  */
-                                                  return 696;
+                                                  return 702;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -3167,21 +3354,32 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               if (((word >> 14) & 0x1) == 0)
                                                 {
                                             {
                                               if (((word >> 14) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 16) & 0x1) == 0)
+                                                  if (((word >> 30) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxx11010x10xxxx0x00101xxxxxxxxxx
-                                                         cls.  */
-                                                      return 685;
+                                                         x0x11010x10xxxxxx00101xxxxxxxxxx
+                                                         gmi.  */
+                                                      return 725;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxx11010x10xxxx1x00101xxxxxxxxxx
-                                                         autib.  */
-                                                      return 692;
+                                                      if (((word >> 16) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             x1x11010x10xxxx0x00101xxxxxxxxxx
+                                                             cls.  */
+                                                          return 691;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             x1x11010x10xxxx1x00101xxxxxxxxxx
+                                                             autib.  */
+                                                          return 698;
+                                                        }
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -3190,7 +3388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxx11010x10xxxxxx10101xxxxxxxxxx
                                                      crc32ch.  */
                                                      10987654321098765432109876543210
                                                      xxx11010x10xxxxxx10101xxxxxxxxxx
                                                      crc32ch.  */
-                                                  return 721;
+                                                  return 732;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -3199,7 +3397,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxx11010x10xxxxxxx1101xxxxxxxxxx
                                                  autizb.  */
                                                  10987654321098765432109876543210
                                                  xxx11010x10xxxxxxx1101xxxxxxxxxx
                                                  autizb.  */
-                                              return 700;
+                                              return 706;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -3218,7 +3416,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0x11010xx0xxxxxx00011xxxxxxxxxx
                                                      sdiv.  */
                                                      10987654321098765432109876543210
                                                      x0x11010xx0xxxxxx00011xxxxxxxxxx
                                                      sdiv.  */
-                                                  return 706;
+                                                  return 712;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -3228,7 +3426,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1x11010xx0xxxx0x00011xxxxxxxxxx
                                                          rev.  */
                                                          10987654321098765432109876543210
                                                          x1x11010xx0xxxx0x00011xxxxxxxxxx
                                                          rev.  */
-                                                      return 682;
+                                                      return 688;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -3236,7 +3434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1x11010xx0xxxx1x00011xxxxxxxxxx
                                                          pacdb.  */
                                                          10987654321098765432109876543210
                                                          x1x11010xx0xxxx1x00011xxxxxxxxxx
                                                          pacdb.  */
-                                                      return 690;
+                                                      return 696;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -3246,7 +3444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxx11010xx0xxxxxx10011xxxxxxxxxx
                                                  crc32x.  */
                                                  10987654321098765432109876543210
                                                  xxx11010xx0xxxxxx10011xxxxxxxxxx
                                                  crc32x.  */
-                                              return 719;
+                                              return 730;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -3257,7 +3455,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x0x11010xx0xxxxxxx1011xxxxxxxxxx
                                                  rorv.  */
                                                  10987654321098765432109876543210
                                                  x0x11010xx0xxxxxxx1011xxxxxxxxxx
                                                  rorv.  */
-                                              return 713;
+                                              return 719;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -3265,7 +3463,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1x11010xx0xxxxxxx1011xxxxxxxxxx
                                                  pacdzb.  */
                                                  10987654321098765432109876543210
                                                  x1x11010xx0xxxxxxx1011xxxxxxxxxx
                                                  pacdzb.  */
-                                              return 698;
+                                              return 704;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -3279,7 +3477,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxx11010xx0xxxxxx00111xxxxxxxxxx
                                                  autdb.  */
                                                  10987654321098765432109876543210
                                                  xxx11010xx0xxxxxx00111xxxxxxxxxx
                                                  autdb.  */
-                                              return 694;
+                                              return 700;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -3287,7 +3485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxx11010xx0xxxxxx10111xxxxxxxxxx
                                                  crc32cx.  */
                                                  10987654321098765432109876543210
                                                  xxx11010xx0xxxxxx10111xxxxxxxxxx
                                                  crc32cx.  */
-                                              return 723;
+                                              return 734;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -3296,7 +3494,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxx11010xx0xxxxxxx1111xxxxxxxxxx
                                              autdzb.  */
                                              10987654321098765432109876543210
                                              xxx11010xx0xxxxxxx1111xxxxxxxxxx
                                              autdzb.  */
-                                          return 702;
+                                          return 708;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -3313,7 +3511,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  x00x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                  bic.  */
                                  10987654321098765432109876543210
                                  x00x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                  bic.  */
-                              return 967;
+                              return 998;
                             }
                           else
                             {
                             }
                           else
                             {
@@ -3321,7 +3519,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  x10x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                  eon.  */
                                  10987654321098765432109876543210
                                  x10x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                  eon.  */
-                              return 974;
+                              return 1005;
                             }
                         }
                       else
                             }
                         }
                       else
@@ -3332,7 +3530,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  x01x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                  orn.  */
                                  10987654321098765432109876543210
                                  x01x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                  orn.  */
-                              return 971;
+                              return 1002;
                             }
                           else
                             {
                             }
                           else
                             {
@@ -3340,7 +3538,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  x11x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                  bics.  */
                                  10987654321098765432109876543210
                                  x11x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                  bics.  */
-                              return 977;
+                              return 1008;
                             }
                         }
                     }
                             }
                         }
                     }
@@ -3360,7 +3558,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  x00x00110xxxxxxxxxxxxxxxxxxxxxxx
                                  sbfm.  */
                                  10987654321098765432109876543210
                                  x00x00110xxxxxxxxxxxxxxxxxxxxxxx
                                  sbfm.  */
-                              return 612;
+                              return 618;
                             }
                           else
                             {
                             }
                           else
                             {
@@ -3368,7 +3566,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  x10x00110xxxxxxxxxxxxxxxxxxxxxxx
                                  ubfm.  */
                                  10987654321098765432109876543210
                                  x10x00110xxxxxxxxxxxxxxxxxxxxxxx
                                  ubfm.  */
-                              return 623;
+                              return 629;
                             }
                         }
                       else
                             }
                         }
                       else
@@ -3377,7 +3575,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xx1x00110xxxxxxxxxxxxxxxxxxxxxxx
                              bfm.  */
                              10987654321098765432109876543210
                              xx1x00110xxxxxxxxxxxxxxxxxxxxxxx
                              bfm.  */
-                          return 619;
+                          return 625;
                         }
                     }
                   else
                         }
                     }
                   else
@@ -3386,7 +3584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxx00111xxxxxxxxxxxxxxxxxxxxxxx
                          extr.  */
                          10987654321098765432109876543210
                          xxxx00111xxxxxxxxxxxxxxxxxxxxxxx
                          extr.  */
-                      return 746;
+                      return 757;
                     }
                 }
               else
                     }
                 }
               else
@@ -3403,7 +3601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      x0001011xx0xxxxxxxxxxxxxxxxxxxxx
                                      add.  */
                                      10987654321098765432109876543210
                                      x0001011xx0xxxxxxxxxxxxxxxxxxxxx
                                      add.  */
-                                  return 19;
+                                  return 21;
                                 }
                               else
                                 {
                                 }
                               else
                                 {
@@ -3411,7 +3609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      x1001011xx0xxxxxxxxxxxxxxxxxxxxx
                                      sub.  */
                                      10987654321098765432109876543210
                                      x1001011xx0xxxxxxxxxxxxxxxxxxxxx
                                      sub.  */
-                                  return 22;
+                                  return 24;
                                 }
                             }
                           else
                                 }
                             }
                           else
@@ -3422,7 +3620,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      x0101011xx0xxxxxxxxxxxxxxxxxxxxx
                                      adds.  */
                                      10987654321098765432109876543210
                                      x0101011xx0xxxxxxxxxxxxxxxxxxxxx
                                      adds.  */
-                                  return 20;
+                                  return 22;
                                 }
                               else
                                 {
                                 }
                               else
                                 {
@@ -3430,7 +3628,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      x1101011xx0xxxxxxxxxxxxxxxxxxxxx
                                      subs.  */
                                      10987654321098765432109876543210
                                      x1101011xx0xxxxxxxxxxxxxxxxxxxxx
                                      subs.  */
-                                  return 24;
+                                  return 26;
                                 }
                             }
                         }
                                 }
                             }
                         }
@@ -3444,7 +3642,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxx11011x00xxxxx0xxxxxxxxxxxxxxx
                                      madd.  */
                                      10987654321098765432109876543210
                                      xxx11011x00xxxxx0xxxxxxxxxxxxxxx
                                      madd.  */
-                                  return 724;
+                                  return 735;
                                 }
                               else
                                 {
                                 }
                               else
                                 {
@@ -3454,7 +3652,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxx11011010xxxxx0xxxxxxxxxxxxxxx
                                          smulh.  */
                                          10987654321098765432109876543210
                                          xxx11011010xxxxx0xxxxxxxxxxxxxxx
                                          smulh.  */
-                                      return 732;
+                                      return 743;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -3462,7 +3660,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxx11011110xxxxx0xxxxxxxxxxxxxxx
                                          umulh.  */
                                          10987654321098765432109876543210
                                          xxx11011110xxxxx0xxxxxxxxxxxxxxx
                                          umulh.  */
-                                      return 737;
+                                      return 748;
                                     }
                                 }
                             }
                                     }
                                 }
                             }
@@ -3472,7 +3670,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxx11011xx0xxxxx1xxxxxxxxxxxxxxx
                                  msub.  */
                                  10987654321098765432109876543210
                                  xxx11011xx0xxxxx1xxxxxxxxxxxxxxx
                                  msub.  */
-                              return 726;
+                              return 737;
                             }
                         }
                     }
                             }
                         }
                     }
@@ -3529,7 +3727,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxx110110x1xxxxx0xxxxxxxxxxxxxxx
                                      smaddl.  */
                                      10987654321098765432109876543210
                                      xxx110110x1xxxxx0xxxxxxxxxxxxxxx
                                      smaddl.  */
-                                  return 728;
+                                  return 739;
                                 }
                               else
                                 {
                                 }
                               else
                                 {
@@ -3537,7 +3735,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxx110110x1xxxxx1xxxxxxxxxxxxxxx
                                      smsubl.  */
                                      10987654321098765432109876543210
                                      xxx110110x1xxxxx1xxxxxxxxxxxxxxx
                                      smsubl.  */
-                                  return 730;
+                                  return 741;
                                 }
                             }
                         }
                                 }
                             }
                         }
@@ -3549,7 +3747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxx10111x1xxxxx0xxxxxxxxxxxxxxx
                                  umaddl.  */
                                  10987654321098765432109876543210
                                  xxxx10111x1xxxxx0xxxxxxxxxxxxxxx
                                  umaddl.  */
-                              return 733;
+                              return 744;
                             }
                           else
                             {
                             }
                           else
                             {
@@ -3557,7 +3755,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxx10111x1xxxxx1xxxxxxxxxxxxxxx
                                  umsubl.  */
                                  10987654321098765432109876543210
                                  xxxx10111x1xxxxx1xxxxxxxxxxxxxxx
                                  umsubl.  */
-                              return 735;
+                              return 746;
                             }
                         }
                     }
                             }
                         }
                     }
@@ -3601,7 +3799,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx000000000xxxxxxxxxxxxx
                                                                      add.  */
                                                                      10987654321098765432109876543210
                                                                      000001x0xx000000000xxxxxxxxxxxxx
                                                                      add.  */
-                                                                  return 1235;
+                                                                  return 1275;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -3609,7 +3807,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx010000000xxxxxxxxxxxxx
                                                                      mul.  */
                                                                      10987654321098765432109876543210
                                                                      000001x0xx010000000xxxxxxxxxxxxx
                                                                      mul.  */
-                                                                  return 1704;
+                                                                  return 1744;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -3620,7 +3818,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx001000000xxxxxxxxxxxxx
                                                                      smax.  */
                                                                      10987654321098765432109876543210
                                                                      000001x0xx001000000xxxxxxxxxxxxx
                                                                      smax.  */
-                                                                  return 1783;
+                                                                  return 1823;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -3628,7 +3826,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx011000000xxxxxxxxxxxxx
                                                                      orr.  */
                                                                      10987654321098765432109876543210
                                                                      000001x0xx011000000xxxxxxxxxxxxx
                                                                      orr.  */
-                                                                  return 1715;
+                                                                  return 1755;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -3640,7 +3838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0100000xxxxxxxxxxxxx
                                                                  sdiv.  */
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0100000xxxxxxxxxxxxx
                                                                  sdiv.  */
-                                                              return 1774;
+                                                              return 1814;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -3648,7 +3846,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x1100000xxxxxxxxxxxxx
                                                                  sabd.  */
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x1100000xxxxxxxxxxxxx
                                                                  sabd.  */
-                                                              return 1765;
+                                                              return 1805;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -3662,7 +3860,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0010000xxxxxxxxxxxxx
                                                                  smulh.  */
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0010000xxxxxxxxxxxxx
                                                                  smulh.  */
-                                                              return 1788;
+                                                              return 1828;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -3672,7 +3870,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx001010000xxxxxxxxxxxxx
                                                                      smin.  */
                                                                      10987654321098765432109876543210
                                                                      000001x0xx001010000xxxxxxxxxxxxx
                                                                      smin.  */
-                                                                  return 1786;
+                                                                  return 1826;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -3680,7 +3878,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx011010000xxxxxxxxxxxxx
                                                                      and.  */
                                                                      10987654321098765432109876543210
                                                                      000001x0xx011010000xxxxxxxxxxxxx
                                                                      and.  */
-                                                                  return 1243;
+                                                                  return 1283;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -3690,7 +3888,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx0xx110000xxxxxxxxxxxxx
                                                              sdivr.  */
                                                              10987654321098765432109876543210
                                                              000001x0xx0xx110000xxxxxxxxxxxxx
                                                              sdivr.  */
-                                                          return 1775;
+                                                          return 1815;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -3706,7 +3904,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0001000xxxxxxxxxxxxx
                                                                  sub.  */
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0001000xxxxxxxxxxxxx
                                                                  sub.  */
-                                                              return 1904;
+                                                              return 1944;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -3716,7 +3914,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx001001000xxxxxxxxxxxxx
                                                                      umax.  */
                                                                      10987654321098765432109876543210
                                                                      000001x0xx001001000xxxxxxxxxxxxx
                                                                      umax.  */
-                                                                  return 1932;
+                                                                  return 1972;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -3724,7 +3922,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx011001000xxxxxxxxxxxxx
                                                                      eor.  */
                                                                      10987654321098765432109876543210
                                                                      000001x0xx011001000xxxxxxxxxxxxx
                                                                      eor.  */
-                                                                  return 1330;
+                                                                  return 1370;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -3736,7 +3934,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0101000xxxxxxxxxxxxx
                                                                  udiv.  */
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0101000xxxxxxxxxxxxx
                                                                  udiv.  */
-                                                              return 1926;
+                                                              return 1966;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -3744,7 +3942,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x1101000xxxxxxxxxxxxx
                                                                  uabd.  */
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x1101000xxxxxxxxxxxxx
                                                                  uabd.  */
-                                                              return 1917;
+                                                              return 1957;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -3760,7 +3958,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx000011000xxxxxxxxxxxxx
                                                                      subr.  */
                                                                      10987654321098765432109876543210
                                                                      000001x0xx000011000xxxxxxxxxxxxx
                                                                      subr.  */
-                                                                  return 1906;
+                                                                  return 1946;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -3768,7 +3966,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx010011000xxxxxxxxxxxxx
                                                                      umulh.  */
                                                                      10987654321098765432109876543210
                                                                      000001x0xx010011000xxxxxxxxxxxxx
                                                                      umulh.  */
-                                                                  return 1937;
+                                                                  return 1977;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -3779,7 +3977,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx001011000xxxxxxxxxxxxx
                                                                      umin.  */
                                                                      10987654321098765432109876543210
                                                                      000001x0xx001011000xxxxxxxxxxxxx
                                                                      umin.  */
-                                                                  return 1935;
+                                                                  return 1975;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -3787,7 +3985,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx011011000xxxxxxxxxxxxx
                                                                      bic.  */
                                                                      10987654321098765432109876543210
                                                                      000001x0xx011011000xxxxxxxxxxxxx
                                                                      bic.  */
-                                                                  return 1255;
+                                                                  return 1295;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -3797,7 +3995,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx0xx111000xxxxxxxxxxxxx
                                                              udivr.  */
                                                              10987654321098765432109876543210
                                                              000001x0xx0xx111000xxxxxxxxxxxxx
                                                              udivr.  */
-                                                          return 1927;
+                                                          return 1967;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -3810,7 +4008,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x00x0xxxxx000xxxxxxxxxxxxx
                                                      ld1sb.  */
                                                      10987654321098765432109876543210
                                                      100001x00x0xxxxx000xxxxxxxxxxxxx
                                                      ld1sb.  */
-                                                  return 1517;
+                                                  return 1557;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -3818,48 +4016,81 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x01x0xxxxx000xxxxxxxxxxxxx
                                                      ld1sh.  */
                                                      10987654321098765432109876543210
                                                      100001x01x0xxxxx000xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1528;
+                                                  return 1568;
                                                 }
                                             }
                                         }
                                       else
                                         {
                                                 }
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x00x0xxxxx000xxxxxxxxxxxxx
-                                                 ld1sb.  */
-                                              return 1521;
-                                            }
-                                          else
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 31) & 0x1) == 0)
+                                              if (((word >> 12) & 0x1) == 0)
                                                 {
                                                   if (((word >> 10) & 0x1) == 0)
                                                     {
                                                 {
                                                   if (((word >> 10) & 0x1) == 0)
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         010001x01x0xxxxx000xx0xxxxxxxxxx
-                                                         sdot.  */
-                                                      return 1776;
+                                                      if (((word >> 11) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0xx0xxxxx000000xxxxxxxxxx
+                                                             sdot.  */
+                                                          return 1816;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0xx0xxxxx000010xxxxxxxxxx
+                                                             sqdmlalbt.  */
+                                                          return 2166;
+                                                        }
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         010001x01x0xxxxx000xx1xxxxxxxxxx
-                                                         udot.  */
-                                                      return 1928;
+                                                      if (((word >> 11) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0xx0xxxxx000001xxxxxxxxxx
+                                                             udot.  */
+                                                          return 1968;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0xx0xxxxx000011xxxxxxxxxx
+                                                             sqdmlslbt.  */
+                                                          return 2173;
+                                                        }
                                                     }
                                                 }
                                                     }
                                                 }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     010001x0xx0xxxxx0001xxxxxxxxxxxx
+                                                     cdot.  */
+                                                  return 2055;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x00x0xxxxx000xxxxxxxxxxxxx
+                                                     ld1sb.  */
+                                                  return 1561;
+                                                }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                      110001x01x0xxxxx000xxxxxxxxxxxxx
                                                      ld1sh.  */
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                      110001x01x0xxxxx000xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1532;
+                                                  return 1572;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -3880,7 +4111,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000000xxxxxxxxxx
                                                              add.  */
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000000xxxxxxxxxx
                                                              add.  */
-                                                          return 1233;
+                                                          return 1273;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -3888,7 +4119,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000100xxxxxxxxxx
                                                              sqadd.  */
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000100xxxxxxxxxx
                                                              sqadd.  */
-                                                          return 1790;
+                                                          return 1830;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -3897,7 +4128,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x0xx1xxxxx000x10xxxxxxxxxx
                                                          sqsub.  */
                                                          10987654321098765432109876543210
                                                          000001x0xx1xxxxx000x10xxxxxxxxxx
                                                          sqsub.  */
-                                                      return 1820;
+                                                      return 1860;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -3910,7 +4141,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000001xxxxxxxxxx
                                                              sub.  */
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000001xxxxxxxxxx
                                                              sub.  */
-                                                          return 1902;
+                                                          return 1942;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -3918,7 +4149,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000101xxxxxxxxxx
                                                              uqadd.  */
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000101xxxxxxxxxx
                                                              uqadd.  */
-                                                          return 1938;
+                                                          return 1978;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -3927,7 +4158,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          000001x0xx1xxxxx000x11xxxxxxxxxx
                                                          uqsub.  */
                                                          10987654321098765432109876543210
                                                          000001x0xx1xxxxx000x11xxxxxxxxxx
                                                          uqsub.  */
-                                                      return 1968;
+                                                      return 2008;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -3939,7 +4170,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x00x1xxxxx000xxxxxxxxxxxxx
                                                      prfb.  */
                                                      10987654321098765432109876543210
                                                      100001x00x1xxxxx000xxxxxxxxxxxxx
                                                      prfb.  */
-                                                  return 1723;
+                                                  return 1763;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -3947,60 +4178,52 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      100001x01x1xxxxx000xxxxxxxxxxxxx
                                                      ld1sh.  */
                                                      10987654321098765432109876543210
                                                      100001x01x1xxxxx000xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1529;
+                                                  return 1569;
                                                 }
                                             }
                                         }
                                       else
                                         {
                                           if (((word >> 23) & 0x1) == 0)
                                                 }
                                             }
                                         }
                                       else
                                         {
                                           if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x00x1xxxxx000xxxxxxxxxxxxx
-                                                 prfb.  */
-                                              return 1724;
-                                            }
-                                          else
                                             {
                                               if (((word >> 31) & 0x1) == 0)
                                                 {
                                                   if (((word >> 10) & 0x1) == 0)
                                                     {
                                             {
                                               if (((word >> 31) & 0x1) == 0)
                                                 {
                                                   if (((word >> 10) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 22) & 0x1) == 0)
+                                                      if (((word >> 11) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             010001x0101xxxxx000xx0xxxxxxxxxx
-                                                             sdot.  */
-                                                          return 1777;
+                                                             010001x00x1xxxxx000x00xxxxxxxxxx
+                                                             sqrdmlah.  */
+                                                          return 2191;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             010001x0111xxxxx000xx0xxxxxxxxxx
-                                                             sdot.  */
-                                                          return 1778;
+                                                             010001x00x1xxxxx000x10xxxxxxxxxx
+                                                             mla.  */
+                                                          return 2098;
                                                         }
                                                     }
                                                   else
                                                     {
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 22) & 0x1) == 0)
+                                                      if (((word >> 11) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             010001x0101xxxxx000xx1xxxxxxxxxx
-                                                             udot.  */
-                                                          return 1929;
+                                                             010001x00x1xxxxx000x01xxxxxxxxxx
+                                                             sqrdmlsh.  */
+                                                          return 2195;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             010001x0111xxxxx000xx1xxxxxxxxxx
-                                                             udot.  */
-                                                          return 1930;
+                                                             010001x00x1xxxxx000x11xxxxxxxxxx
+                                                             mls.  */
+                                                          return 2101;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -4008,710 +4231,677 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     110001x01x1xxxxx000xxxxxxxxxxxxx
-                                                     ld1sh.  */
-                                                  return 1533;
+                                                     110001x00x1xxxxx000xxxxxxxxxxxxx
+                                                     prfb.  */
+                                                  return 1764;
                                                 }
                                             }
                                                 }
                                             }
-                                        }
-                                    }
-                                }
-                              else
-                                {
-                                  if (((word >> 30) & 0x1) == 0)
-                                    {
-                                      if (((word >> 31) & 0x1) == 0)
-                                        {
-                                          if (((word >> 21) & 0x1) == 0)
+                                          else
                                             {
                                             {
-                                              if (((word >> 16) & 0x1) == 0)
+                                              if (((word >> 31) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 18) & 0x1) == 0)
+                                                  if (((word >> 10) & 0x1) == 0)
                                                     {
                                                     {
-                                                      if (((word >> 19) & 0x1) == 0)
+                                                      if (((word >> 11) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 20) & 0x1) == 0)
+                                                          if (((word >> 12) & 0x1) == 0)
                                                             {
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0xx0000x0100xxxxxxxxxxxxx
-                                                                 asr.  */
-                                                              return 1251;
+                                                              if (((word >> 22) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0101xxxxx000000xxxxxxxxxx
+                                                                     sdot.  */
+                                                                  return 1817;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0111xxxxx000000xxxxxxxxxx
+                                                                     sdot.  */
+                                                                  return 1818;
+                                                                }
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0xx0100x0100xxxxxxxxxxxxx
-                                                                 asr.  */
-                                                              return 1249;
+                                                              if (((word >> 22) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0101xxxxx000100xxxxxxxxxx
+                                                                     sqrdmlah.  */
+                                                                  return 2192;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0111xxxxx000100xxxxxxxxxx
+                                                                     sqrdmlah.  */
+                                                                  return 2193;
+                                                                }
                                                             }
                                                         }
                                                       else
                                                         {
                                                             }
                                                         }
                                                       else
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0xx0x10x0100xxxxxxxxxxxxx
-                                                             asr.  */
-                                                          return 1250;
-                                                        }
-                                                    }
-                                                  else
-                                                    {
-                                                      if (((word >> 20) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0xx00x1x0100xxxxxxxxxxxxx
-                                                             asrd.  */
-                                                          return 1252;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0xx01x1x0100xxxxxxxxxxxxx
-                                                             asrr.  */
-                                                          return 1253;
-                                                        }
-                                                    }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 17) & 0x1) == 0)
-                                                    {
-                                                      if (((word >> 18) & 0x1) == 0)
-                                                        {
-                                                          if (((word >> 19) & 0x1) == 0)
+                                                          if (((word >> 12) & 0x1) == 0)
                                                             {
                                                             {
-                                                              if (((word >> 20) & 0x1) == 0)
+                                                              if (((word >> 22) & 0x1) == 0)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     000001x0xx000001100xxxxxxxxxxxxx
-                                                                     lsr.  */
-                                                                  return 1695;
+                                                                     010001x0101xxxxx000010xxxxxxxxxx
+                                                                     mla.  */
+                                                                  return 2099;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     000001x0xx010001100xxxxxxxxxxxxx
-                                                                     lsr.  */
-                                                                  return 1693;
+                                                                     010001x0111xxxxx000010xxxxxxxxxx
+                                                                     mla.  */
+                                                                  return 2100;
                                                                 }
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                                 }
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0xx0x1001100xxxxxxxxxxxxx
-                                                                 lsr.  */
-                                                              return 1694;
+                                                                 010001x01x1xxxxx000110xxxxxxxxxx
+                                                                 usdot.  */
+                                                              return 2395;
                                                             }
                                                         }
                                                             }
                                                         }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0xx0xx101100xxxxxxxxxxxxx
-                                                             lsrr.  */
-                                                          return 1696;
-                                                        }
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 18) & 0x1) == 0)
+                                                      if (((word >> 11) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 19) & 0x1) == 0)
+                                                          if (((word >> 12) & 0x1) == 0)
                                                             {
                                                             {
-                                                              if (((word >> 20) & 0x1) == 0)
+                                                              if (((word >> 22) & 0x1) == 0)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     000001x0xx000011100xxxxxxxxxxxxx
-                                                                     lsl.  */
-                                                                  return 1689;
+                                                                     010001x0101xxxxx000001xxxxxxxxxx
+                                                                     udot.  */
+                                                                  return 1969;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     000001x0xx010011100xxxxxxxxxxxxx
-                                                                     lsl.  */
-                                                                  return 1687;
+                                                                     010001x0111xxxxx000001xxxxxxxxxx
+                                                                     udot.  */
+                                                                  return 1970;
                                                                 }
                                                             }
                                                           else
                                                             {
                                                                 }
                                                             }
                                                           else
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0xx0x1011100xxxxxxxxxxxxx
-                                                                 lsl.  */
-                                                              return 1688;
+                                                              if (((word >> 22) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0101xxxxx000101xxxxxxxxxx
+                                                                     sqrdmlsh.  */
+                                                                  return 2196;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0111xxxxx000101xxxxxxxxxx
+                                                                     sqrdmlsh.  */
+                                                                  return 2197;
+                                                                }
                                                             }
                                                         }
                                                       else
                                                         {
                                                             }
                                                         }
                                                       else
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0xx0xx111100xxxxxxxxxxxxx
-                                                             lslr.  */
-                                                          return 1690;
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 22) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0101xxxxx000011xxxxxxxxxx
+                                                                     mls.  */
+                                                                  return 2102;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0111xxxxx000011xxxxxxxxxx
+                                                                     mls.  */
+                                                                  return 2103;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x01x1xxxxx000111xxxxxxxxxx
+                                                                 sudot.  */
+                                                              return 2396;
+                                                            }
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x01x1xxxxx000xxxxxxxxxxxxx
+                                                     ld1sh.  */
+                                                  return 1573;
+                                                }
                                             }
                                             }
-                                          else
+                                        }
+                                    }
+                                }
+                              else
+                                {
+                                  if (((word >> 31) & 0x1) == 0)
+                                    {
+                                      if (((word >> 21) & 0x1) == 0)
+                                        {
+                                          if (((word >> 16) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 10) & 0x1) == 0)
+                                              if (((word >> 17) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 12) & 0x1) == 0)
+                                                  if (((word >> 18) & 0x1) == 0)
                                                     {
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x0xx1xxxxx1000x0xxxxxxxxxx
-                                                         asr.  */
-                                                      return 1247;
+                                                      if (((word >> 19) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 0x0001x0xx000000100xxxxxxxxxxxxx
+                                                                 asr.  */
+                                                              return 1291;
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx010000100xxxxxxxxxxxxx
+                                                                     asr.  */
+                                                                  return 1289;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0xx010000100xxxxxxxxxxxxx
+                                                                     shadd.  */
+                                                                  return 2132;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 0x0001x0xx001000100xxxxxxxxxxxxx
+                                                                 sqshl.  */
+                                                              return 2210;
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx011000100xxxxxxxxxxxxx
+                                                                     asr.  */
+                                                                  return 1290;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0xx011000100xxxxxxxxxxxxx
+                                                                     sqadd.  */
+                                                                  return 2161;
+                                                                }
+                                                            }
+                                                        }
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x0xx1xxxxx1001x0xxxxxxxxxx
-                                                         asr.  */
-                                                      return 1248;
+                                                      if (((word >> 19) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 0x0001x0xx000100100xxxxxxxxxxxxx
+                                                                 asrd.  */
+                                                              return 1292;
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx010100100xxxxxxxxxxxxx
+                                                                     asrr.  */
+                                                                  return 1293;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0xx010100100xxxxxxxxxxxxx
+                                                                     srhadd.  */
+                                                                  return 2223;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx001100100xxxxxxxxxxxxx
+                                                                     srshr.  */
+                                                                  return 2227;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0xx001100100xxxxxxxxxxxxx
+                                                                     sqshlr.  */
+                                                                  return 2211;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 0x0001x0xx011100100xxxxxxxxxxxxx
+                                                                 suqadd.  */
+                                                              return 2247;
+                                                            }
+                                                        }
                                                     }
                                                 }
                                               else
                                                 {
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 11) & 0x1) == 0)
+                                                  if (((word >> 18) & 0x1) == 0)
                                                     {
                                                     {
-                                                      if (((word >> 12) & 0x1) == 0)
+                                                      if (((word >> 19) & 0x1) == 0)
                                                         {
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0xx1xxxxx100001xxxxxxxxxx
-                                                             lsr.  */
-                                                          return 1691;
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 0x0001x0xx000010100xxxxxxxxxxxxx
+                                                                 srshl.  */
+                                                              return 2225;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 0x0001x0xx010010100xxxxxxxxxxxxx
+                                                                 shsub.  */
+                                                              return 2135;
+                                                            }
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0xx1xxxxx100101xxxxxxxxxx
-                                                             lsr.  */
-                                                          return 1692;
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 0x0001x0xx001010100xxxxxxxxxxxxx
+                                                                 sqrshl.  */
+                                                              return 2203;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 0x0001x0xx011010100xxxxxxxxxxxxx
+                                                                 sqsub.  */
+                                                              return 2217;
+                                                            }
                                                         }
                                                     }
                                                   else
                                                     {
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 12) & 0x1) == 0)
+                                                      if (((word >> 19) & 0x1) == 0)
                                                         {
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0xx1xxxxx100011xxxxxxxxxx
-                                                             lsl.  */
-                                                          return 1685;
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx000110100xxxxxxxxxxxxx
+                                                                     sqshl.  */
+                                                                  return 2209;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0xx000110100xxxxxxxxxxxxx
+                                                                     srshlr.  */
+                                                                  return 2226;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 0x0001x0xx010110100xxxxxxxxxxxxx
+                                                                 shsubr.  */
+                                                              return 2136;
+                                                            }
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0xx1xxxxx100111xxxxxxxxxx
-                                                             lsl.  */
-                                                          return 1686;
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 0x0001x0xx001110100xxxxxxxxxxxxx
+                                                                 sqrshlr.  */
+                                                              return 2204;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 0x0001x0xx011110100xxxxxxxxxxxxx
+                                                                 sqsubr.  */
+                                                              return 2218;
+                                                            }
                                                         }
                                                     }
                                                 }
                                             }
                                                         }
                                                     }
                                                 }
                                             }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x000xxxxxx100xxxxxxxxxxxxx
-                                                     ld1sb.  */
-                                                  return 1523;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x010xxxxxx100xxxxxxxxxxxxx
-                                                     ld1sh.  */
-                                                  return 1536;
-                                                }
-                                            }
                                           else
                                             {
                                           else
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x001xxxxxx100xxxxxxxxxxxxx
-                                                     ld1rb.  */
-                                                  return 1493;
-                                                }
-                                              else
+                                              if (((word >> 17) & 0x1) == 0)
                                                 {
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x011xxxxxx100xxxxxxxxxxxxx
-                                                     ld1rsw.  */
-                                                  return 1514;
-                                                }
-                                            }
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 21) & 0x1) == 0)
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x00x0xxxxx100xxxxxxxxxxxxx
-                                                 ld1sb.  */
-                                              return 1522;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x01x0xxxxx100xxxxxxxxxxxxx
-                                                 ld1sh.  */
-                                              return 1534;
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x0001xxxxx100xxxxxxxxxxxxx
-                                                     ld1sb.  */
-                                                  return 1527;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x0101xxxxx100xxxxxxxxxxxxx
-                                                     ld1sh.  */
-                                                  return 1539;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x0011xxxxx100xxxxxxxxxxxxx
-                                                     prfb.  */
-                                                  return 1725;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x0111xxxxx100xxxxxxxxxxxxx
-                                                     ld1sh.  */
-                                                  return 1535;
-                                                }
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                          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 1698;
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x00x0xxxxx010xxxxxxxxxxxxx
-                                                     ld1b.  */
-                                                  return 1459;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x01x0xxxxx010xxxxxxxxxxxxx
-                                                     ld1h.  */
-                                                  return 1479;
-                                                }
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x00x0xxxxx010xxxxxxxxxxxxx
-                                                 ld1b.  */
-                                              return 1464;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x01x0xxxxx010xxxxxxxxxxxxx
-                                                 ld1h.  */
-                                              return 1484;
-                                            }
-                                        }
-                                    }
-                                  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 1450;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0xx1xxxxx010001xxxxxxxxxx
-                                                             index.  */
-                                                          return 1451;
-                                                        }
-                                                    }
-                                                  else
-                                                    {
-                                                      if (((word >> 22) & 0x1) == 0)
-                                                        {
-                                                          if (((word >> 23) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0001xxxxx01010xxxxxxxxxxx
-                                                                 addvl.  */
-                                                              return 1237;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0101xxxxx01010xxxxxxxxxxx
-                                                                 rdvl.  */
-                                                              return 1759;
-                                                            }
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0x11xxxxx01010xxxxxxxxxxx
-                                                             addpl.  */
-                                                          return 1236;
-                                                        }
-                                                    }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 10) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x0xx1xxxxx010x10xxxxxxxxxx
-                                                         index.  */
-                                                      return 1452;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x0xx1xxxxx010x11xxxxxxxxxx
-                                                         index.  */
-                                                      return 1449;
-                                                    }
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x00x1xxxxx010xxxxxxxxxxxxx
-                                                     prfw.  */
-                                                  return 1743;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x01x1xxxxx010xxxxxxxxxxxxx
-                                                     ld1h.  */
-                                                  return 1480;
-                                                }
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x00x1xxxxx010xxxxxxxxxxxxx
-                                                 prfw.  */
-                                              return 1745;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x01x1xxxxx010xxxxxxxxxxxxx
-                                                 ld1h.  */
-                                              return 1485;
-                                            }
-                                        }
-                                    }
-                                }
-                              else
-                                {
-                                  if (((word >> 30) & 0x1) == 0)
-                                    {
-                                      if (((word >> 31) & 0x1) == 0)
-                                        {
-                                          if (((word >> 21) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 000001x0xx0xxxxx110xxxxxxxxxxxxx
-                                                 mad.  */
-                                              return 1697;
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 10) & 0x1) == 0)
-                                                {
-                                                  if (((word >> 11) & 0x1) == 0)
+                                                  if (((word >> 18) & 0x1) == 0)
                                                     {
                                                     {
-                                                      if (((word >> 20) & 0x1) == 0)
+                                                      if (((word >> 19) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 22) & 0x1) == 0)
+                                                          if (((word >> 20) & 0x1) == 0)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0x010xxxx110x00xxxxxxxxxx
-                                                                 sqincw.  */
-                                                              return 1817;
+                                                                 0x0001x0xx000001100xxxxxxxxxxxxx
+                                                                 lsr.  */
+                                                              return 1735;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 23) & 0x1) == 0)
+                                                              if (((word >> 30) & 0x1) == 0)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     000001x00110xxxx110x00xxxxxxxxxx
-                                                                     sqinch.  */
-                                                                  return 1811;
+                                                                     000001x0xx010001100xxxxxxxxxxxxx
+                                                                     lsr.  */
+                                                                  return 1733;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     000001x01110xxxx110x00xxxxxxxxxx
-                                                                     sqincd.  */
-                                                                  return 1808;
+                                                                     010001x0xx010001100xxxxxxxxxxxxx
+                                                                     uhadd.  */
+                                                                  return 2260;
                                                                 }
                                                             }
                                                         }
                                                       else
                                                         {
                                                                 }
                                                             }
                                                         }
                                                       else
                                                         {
-                                                          if (((word >> 22) & 0x1) == 0)
+                                                          if (((word >> 20) & 0x1) == 0)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0x011xxxx110x00xxxxxxxxxx
-                                                                 incw.  */
-                                                              return 1447;
+                                                                 0x0001x0xx001001100xxxxxxxxxxxxx
+                                                                 uqshl.  */
+                                                              return 2290;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 23) & 0x1) == 0)
+                                                              if (((word >> 30) & 0x1) == 0)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     000001x00111xxxx110x00xxxxxxxxxx
-                                                                     inch.  */
-                                                                  return 1443;
+                                                                     000001x0xx011001100xxxxxxxxxxxxx
+                                                                     lsr.  */
+                                                                  return 1734;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     000001x01111xxxx110x00xxxxxxxxxx
-                                                                     incd.  */
-                                                                  return 1441;
+                                                                     010001x0xx011001100xxxxxxxxxxxxx
+                                                                     uqadd.  */
+                                                                  return 2284;
                                                                 }
                                                             }
                                                         }
                                                     }
                                                   else
                                                     {
                                                                 }
                                                             }
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 22) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0x01xxxxx110x10xxxxxxxxxx
-                                                             sqdecw.  */
-                                                          return 1803;
-                                                        }
-                                                      else
+                                                      if (((word >> 19) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 23) & 0x1) == 0)
+                                                          if (((word >> 30) & 0x1) == 0)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0011xxxxx110x10xxxxxxxxxx
-                                                                 sqdech.  */
-                                                              return 1797;
+                                                                 000001x0xx0x0101100xxxxxxxxxxxxx
+                                                                 lsrr.  */
+                                                              return 1736;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0111xxxxx110x10xxxxxxxxxx
-                                                                 sqdecd.  */
-                                                              return 1794;
+                                                                 010001x0xx0x0101100xxxxxxxxxxxxx
+                                                                 urhadd.  */
+                                                              return 2299;
                                                             }
                                                         }
                                                             }
                                                         }
-                                                    }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 11) & 0x1) == 0)
-                                                    {
-                                                      if (((word >> 20) & 0x1) == 0)
+                                                      else
                                                         {
                                                         {
-                                                          if (((word >> 22) & 0x1) == 0)
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx001101100xxxxxxxxxxxxx
+                                                                     urshr.  */
+                                                                  return 2302;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0xx001101100xxxxxxxxxxxxx
+                                                                     uqshlr.  */
+                                                                  return 2291;
+                                                                }
+                                                            }
+                                                          else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0x010xxxx110x01xxxxxxxxxx
-                                                                 uqincw.  */
-                                                              return 1965;
+                                                                 0x0001x0xx011101100xxxxxxxxxxxxx
+                                                                 usqadd.  */
+                                                              return 2307;
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                              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 1729;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0xx000011100xxxxxxxxxxxxx
+                                                                     urshl.  */
+                                                                  return 2300;
+                                                                }
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 23) & 0x1) == 0)
+                                                              if (((word >> 30) & 0x1) == 0)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     000001x00110xxxx110x01xxxxxxxxxx
-                                                                     uqinch.  */
-                                                                  return 1959;
+                                                                     000001x0xx010011100xxxxxxxxxxxxx
+                                                                     lsl.  */
+                                                                  return 1727;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     000001x01110xxxx110x01xxxxxxxxxx
-                                                                     uqincd.  */
-                                                                  return 1956;
+                                                                     010001x0xx010011100xxxxxxxxxxxxx
+                                                                     uhsub.  */
+                                                                  return 2261;
                                                                 }
                                                             }
                                                         }
                                                       else
                                                         {
                                                                 }
                                                             }
                                                         }
                                                       else
                                                         {
-                                                          if (((word >> 22) & 0x1) == 0)
+                                                          if (((word >> 20) & 0x1) == 0)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0x011xxxx110x01xxxxxxxxxx
-                                                                 decw.  */
-                                                              return 1322;
+                                                                 0x0001x0xx001011100xxxxxxxxxxxxx
+                                                                 uqrshl.  */
+                                                              return 2285;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 23) & 0x1) == 0)
+                                                              if (((word >> 30) & 0x1) == 0)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     000001x00111xxxx110x01xxxxxxxxxx
-                                                                     dech.  */
-                                                                  return 1318;
+                                                                     000001x0xx011011100xxxxxxxxxxxxx
+                                                                     lsl.  */
+                                                                  return 1728;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     000001x01111xxxx110x01xxxxxxxxxx
-                                                                     decd.  */
-                                                                  return 1316;
+                                                                     010001x0xx011011100xxxxxxxxxxxxx
+                                                                     uqsub.  */
+                                                                  return 2294;
                                                                 }
                                                             }
                                                         }
                                                     }
                                                   else
                                                     {
                                                                 }
                                                             }
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 22) & 0x1) == 0)
+                                                      if (((word >> 19) & 0x1) == 0)
                                                         {
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0x01xxxxx110x11xxxxxxxxxx
-                                                             uqdecw.  */
-                                                          return 1951;
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx000111100xxxxxxxxxxxxx
+                                                                     uqshl.  */
+                                                                  return 2289;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0xx000111100xxxxxxxxxxxxx
+                                                                     urshlr.  */
+                                                                  return 2301;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx010111100xxxxxxxxxxxxx
+                                                                     lslr.  */
+                                                                  return 1730;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0xx010111100xxxxxxxxxxxxx
+                                                                     uhsubr.  */
+                                                                  return 2262;
+                                                                }
+                                                            }
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
-                                                          if (((word >> 23) & 0x1) == 0)
+                                                          if (((word >> 20) & 0x1) == 0)
                                                             {
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0011xxxxx110x11xxxxxxxxxx
-                                                                 uqdech.  */
-                                                              return 1945;
+                                                              if (((word >> 30) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx001111100xxxxxxxxxxxxx
+                                                                     sqshlu.  */
+                                                                  return 2212;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0xx001111100xxxxxxxxxxxxx
+                                                                     uqrshlr.  */
+                                                                  return 2286;
+                                                                }
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0111xxxxx110x11xxxxxxxxxx
-                                                                 uqdecd.  */
-                                                              return 1942;
+                                                                 0x0001x0xx011111100xxxxxxxxxxxxx
+                                                                 uqsubr.  */
+                                                              return 2295;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -4720,137 +4910,288 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
-                                          if (((word >> 22) & 0x1) == 0)
+                                          if (((word >> 10) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 21) & 0x1) == 0)
+                                              if (((word >> 12) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 30) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         100001x0000xxxxx110xxxxxxxxxxxxx
-                                                         prfb.  */
-                                                      return 1722;
+                                                         000001x0xx1xxxxx1000x0xxxxxxxxxx
+                                                         asr.  */
+                                                      return 1287;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         100001x0100xxxxx110xxxxxxxxxxxxx
-                                                         prfh.  */
-                                                      return 1737;
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0x01xxxxx1000x0xxxxxxxxxx
+                                                             smlalb.  */
+                                                          return 2140;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0x11xxxxx1000x0xxxxxxxxxx
+                                                             smlalb.  */
+                                                          return 2141;
+                                                        }
                                                     }
                                                 }
                                               else
                                                 {
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 30) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         100001x0001xxxxx110xxxxxxxxxxxxx
-                                                         ld1b.  */
-                                                      return 1466;
+                                                         000001x0xx1xxxxx1001x0xxxxxxxxxx
+                                                         asr.  */
+                                                      return 1288;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         100001x0101xxxxx110xxxxxxxxxxxxx
-                                                         ld1h.  */
-                                                      return 1488;
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0x01xxxxx1001x0xxxxxxxxxx
+                                                             umlalb.  */
+                                                          return 2265;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0x11xxxxx1001x0xxxxxxxxxx
+                                                             umlalb.  */
+                                                          return 2266;
+                                                        }
                                                     }
                                                 }
                                             }
                                           else
                                             {
                                                     }
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 12) & 0x1) == 0)
                                                 {
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x001xxxxxx110xxxxxxxxxxxxx
-                                                     ld1rb.  */
-                                                  return 1495;
+                                                  if (((word >> 30) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 11) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx1xxxxx100001xxxxxxxxxx
+                                                             lsr.  */
+                                                          return 1731;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx1xxxxx100011xxxxxxxxxx
+                                                             lsl.  */
+                                                          return 1725;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0x01xxxxx1000x1xxxxxxxxxx
+                                                             smlalt.  */
+                                                          return 2143;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0x11xxxxx1000x1xxxxxxxxxx
+                                                             smlalt.  */
+                                                          return 2144;
+                                                        }
+                                                    }
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x011xxxxxx110xxxxxxxxxxxxx
-                                                     ld1rh.  */
-                                                  return 1499;
+                                                  if (((word >> 30) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 11) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx1xxxxx100101xxxxxxxxxx
+                                                             lsr.  */
+                                                          return 1732;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx1xxxxx100111xxxxxxxxxx
+                                                             lsl.  */
+                                                          return 1726;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0x01xxxxx1001x1xxxxxxxxxx
+                                                             umlalt.  */
+                                                          return 2268;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0x11xxxxx1001x1xxxxxxxxxx
+                                                             umlalt.  */
+                                                          return 2269;
+                                                        }
+                                                    }
                                                 }
                                             }
                                         }
                                     }
                                   else
                                     {
                                                 }
                                             }
                                         }
                                     }
                                   else
                                     {
-                                      if (((word >> 21) & 0x1) == 0)
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x00x0xxxxx110xxxxxxxxxxxxx
-                                                 ld1b.  */
-                                              return 1465;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x01x0xxxxx110xxxxxxxxxxxxx
-                                                 ld1h.  */
-                                              return 1486;
-                                            }
-                                        }
-                                      else
+                                      if (((word >> 22) & 0x1) == 0)
                                         {
                                         {
-                                          if (((word >> 22) & 0x1) == 0)
+                                          if (((word >> 21) & 0x1) == 0)
                                             {
                                               if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                             {
                                               if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x10001x0001xxxxx110xxxxxxxxxxxxx
-                                                     ld1b.  */
-                                                  return 1471;
+                                                     1x0001x0000xxxxx100xxxxxxxxxxxxx
+                                                     ldnt1sb.  */
+                                                  return 2092;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x10001x0101xxxxx110xxxxxxxxxxxxx
-                                                     ld1h.  */
-                                                  return 1492;
+                                                     1x0001x0100xxxxx100xxxxxxxxxxxxx
+                                                     ldnt1sh.  */
+                                                  return 2093;
                                                 }
                                             }
                                           else
                                             {
                                               if (((word >> 23) & 0x1) == 0)
                                                 {
                                                 }
                                             }
                                           else
                                             {
                                               if (((word >> 23) & 0x1) == 0)
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x0011xxxxx110xxxxxxxxxxxxx
-                                                     prfw.  */
-                                                  return 1746;
-                                                }
+                                                  if (((word >> 30) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x0001xxxxx100xxxxxxxxxxxxx
+                                                         ld1sb.  */
+                                                      return 1563;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0001xxxxx100xxxxxxxxxxxxx
+                                                         ld1sb.  */
+                                                      return 1567;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 30) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x0101xxxxx100xxxxxxxxxxxxx
+                                                         ld1sh.  */
+                                                      return 1576;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0101xxxxx100xxxxxxxxxxxxx
+                                                         ld1sh.  */
+                                                      return 1579;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              if (((word >> 30) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x001xxxxxx100xxxxxxxxxxxxx
+                                                     ld1rb.  */
+                                                  return 1533;
+                                                }
                                               else
                                               else
+                                                {
+                                                  if (((word >> 21) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0010xxxxx100xxxxxxxxxxxxx
+                                                         ld1sb.  */
+                                                      return 1562;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0011xxxxx100xxxxxxxxxxxxx
+                                                         prfb.  */
+                                                      return 1765;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 30) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x10001x0111xxxxx110xxxxxxxxxxxxx
-                                                     ld1h.  */
-                                                  return 1487;
+                                                     100001x011xxxxxx100xxxxxxxxxxxxx
+                                                     ld1rsw.  */
+                                                  return 1554;
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 21) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0110xxxxx100xxxxxxxxxxxxx
+                                                         ld1sh.  */
+                                                      return 1574;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0111xxxxx100xxxxxxxxxxxxx
+                                                         ld1sh.  */
+                                                      return 1575;
+                                                    }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
-                        }
-                      else
-                        {
-                          if (((word >> 14) & 0x1) == 0)
+                          else
                             {
                               if (((word >> 15) & 0x1) == 0)
                                 {
                             {
                               if (((word >> 15) & 0x1) == 0)
                                 {
@@ -4860,108 +5201,116 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           if (((word >> 31) & 0x1) == 0)
                                             {
                                         {
                                           if (((word >> 31) & 0x1) == 0)
                                             {
-                                              if (((word >> 17) & 0x1) == 0)
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 000001x0xx0xxxxx010xxxxxxxxxxxxx
+                                                 mla.  */
+                                              return 1738;
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 19) & 0x1) == 0)
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x00x0xxxxx010xxxxxxxxxxxxx
+                                                     ld1b.  */
+                                                  return 1499;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x01x0xxxxx010xxxxxxxxxxxxx
+                                                     ld1h.  */
+                                                  return 1519;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              if (((word >> 10) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 11) & 0x1) == 0)
                                                     {
                                                     {
-                                                      if (((word >> 20) & 0x1) == 0)
+                                                      if (((word >> 12) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 16) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0xx000x00001xxxxxxxxxxxxx
-                                                                 saddv.  */
-                                                              return 1766;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0xx000x01001xxxxxxxxxxxxx
-                                                                 uaddv.  */
-                                                              return 1918;
-                                                            }
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0xx0xxxxx010000xxxxxxxxxx
+                                                             smlalb.  */
+                                                          return 2142;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             000001x0xx010x0x001xxxxxxxxxxxxx
-                                                             movprfx.  */
-                                                          return 1701;
+                                                             010001x0xx0xxxxx010100xxxxxxxxxx
+                                                             smlslb.  */
+                                                          return 2148;
                                                         }
                                                     }
                                                   else
                                                     {
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 16) & 0x1) == 0)
+                                                      if (((word >> 12) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 20) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0xx001x00001xxxxxxxxxxxxx
-                                                                 smaxv.  */
-                                                              return 1784;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0xx011x00001xxxxxxxxxxxxx
-                                                                 orv.  */
-                                                              return 1718;
-                                                            }
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0xx0xxxxx010010xxxxxxxxxx
+                                                             umlalb.  */
+                                                          return 2267;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
-                                                          if (((word >> 20) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0xx001x01001xxxxxxxxxxxxx
-                                                                 umaxv.  */
-                                                              return 1933;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0xx011x01001xxxxxxxxxxxxx
-                                                                 eorv.  */
-                                                              return 1333;
-                                                            }
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0xx0xxxxx010110xxxxxxxxxx
+                                                             umlslb.  */
+                                                          return 2273;
                                                         }
                                                     }
                                                 }
                                               else
                                                 {
                                                         }
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 16) & 0x1) == 0)
+                                                  if (((word >> 11) & 0x1) == 0)
                                                     {
                                                     {
-                                                      if (((word >> 20) & 0x1) == 0)
+                                                      if (((word >> 12) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             000001x0xx00xx10001xxxxxxxxxxxxx
-                                                             sminv.  */
-                                                          return 1787;
+                                                             010001x0xx0xxxxx010001xxxxxxxxxx
+                                                             smlalt.  */
+                                                          return 2145;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             000001x0xx01xx10001xxxxxxxxxxxxx
-                                                             andv.  */
-                                                          return 1246;
+                                                             010001x0xx0xxxxx010101xxxxxxxxxx
+                                                             smlslt.  */
+                                                          return 2151;
                                                         }
                                                     }
                                                   else
                                                     {
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x0xx0xxx11001xxxxxxxxxxxxx
-                                                         uminv.  */
-                                                      return 1936;
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0xx0xxxxx010011xxxxxxxxxx
+                                                             umlalt.  */
+                                                          return 2270;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0xx0xxxxx010111xxxxxxxxxx
+                                                             umlslt.  */
+                                                          return 2276;
+                                                        }
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -4971,86 +5320,130 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     100001x00x0xxxxx001xxxxxxxxxxxxx
-                                                     ldff1sb.  */
-                                                  return 1617;
+                                                     110001x00x0xxxxx010xxxxxxxxxxxxx
+                                                     ld1b.  */
+                                                  return 1504;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     100001x01x0xxxxx001xxxxxxxxxxxxx
-                                                     ldff1sh.  */
-                                                  return 1628;
+                                                     110001x01x0xxxxx010xxxxxxxxxxxxx
+                                                     ld1h.  */
+                                                  return 1524;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
-                                      else
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x00x0xxxxx001xxxxxxxxxxxxx
-                                                 ldff1sb.  */
-                                              return 1624;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x01x0xxxxx001xxxxxxxxxxxxx
-                                                 ldff1sh.  */
-                                              return 1634;
-                                            }
-                                        }
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
-                                      if (((word >> 23) & 0x1) == 0)
+                                      if (((word >> 30) & 0x1) == 0)
                                         {
                                         {
-                                          if (((word >> 30) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 31) & 0x1) == 0)
+                                              if (((word >> 11) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 22) & 0x1) == 0)
+                                                  if (((word >> 12) & 0x1) == 0)
                                                     {
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x0001xxxxx001xxxxxxxxxxxxx
-                                                         and.  */
-                                                      return 1241;
+                                                      if (((word >> 10) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx1xxxxx010000xxxxxxxxxx
+                                                             index.  */
+                                                          return 1490;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx1xxxxx010001xxxxxxxxxx
+                                                             index.  */
+                                                          return 1491;
+                                                        }
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x0011xxxxx001xxxxxxxxxxxxx
-                                                         orr.  */
-                                                      return 1713;
-                                                    }
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x00x1xxxxx001xxxxxxxxxxxxx
-                                                     prfh.  */
-                                                  return 1736;
-                                                }
-                                            }
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 23) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0001xxxxx01010xxxxxxxxxxx
+                                                                 addvl.  */
+                                                              return 1277;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0101xxxxx01010xxxxxxxxxxx
+                                                                 rdvl.  */
+                                                              return 1799;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0x11xxxxx01010xxxxxxxxxxx
+                                                             addpl.  */
+                                                          return 1276;
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 10) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         000001x0xx1xxxxx010x10xxxxxxxxxx
+                                                         index.  */
+                                                      return 1492;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         000001x0xx1xxxxx010x11xxxxxxxxxx
+                                                         index.  */
+                                                      return 1489;
+                                                    }
+                                                }
+                                            }
                                           else
                                             {
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x00x1xxxxx001xxxxxxxxxxxxx
-                                                 prfh.  */
-                                              return 1738;
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x00x1xxxxx010xxxxxxxxxxxxx
+                                                     prfw.  */
+                                                  return 1783;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x01x1xxxxx010xxxxxxxxxxxxx
+                                                     ld1h.  */
+                                                  return 1520;
+                                                }
                                             }
                                         }
                                       else
                                         {
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 30) & 0x1) == 0)
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 x10001x00x1xxxxx010xxxxxxxxxxxxx
+                                                 prfw.  */
+                                              return 1785;
+                                            }
+                                          else
                                             {
                                               if (((word >> 31) & 0x1) == 0)
                                                 {
                                             {
                                               if (((word >> 31) & 0x1) == 0)
                                                 {
@@ -5058,36 +5451,28 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         000001x0101xxxxx001xxxxxxxxxxxxx
-                                                         eor.  */
-                                                      return 1328;
+                                                         010001x0101xxxxx010xxxxxxxxxxxxx
+                                                         cdot.  */
+                                                      return 2057;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         000001x0111xxxxx001xxxxxxxxxxxxx
-                                                         bic.  */
-                                                      return 1254;
+                                                         010001x0111xxxxx010xxxxxxxxxxxxx
+                                                         cdot.  */
+                                                      return 2056;
                                                     }
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                     }
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     100001x01x1xxxxx001xxxxxxxxxxxxx
-                                                     ldff1sh.  */
-                                                  return 1629;
+                                                     110001x01x1xxxxx010xxxxxxxxxxxxx
+                                                     ld1h.  */
+                                                  return 1525;
                                                 }
                                             }
                                                 }
                                             }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x01x1xxxxx001xxxxxxxxxxxxx
-                                                 ldff1sh.  */
-                                              return 1635;
-                                            }
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -5099,268 +5484,268 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           if (((word >> 21) & 0x1) == 0)
                                             {
                                         {
                                           if (((word >> 21) & 0x1) == 0)
                                             {
-                                              if (((word >> 16) & 0x1) == 0)
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 000001x0xx0xxxxx110xxxxxxxxxxxxx
+                                                 mad.  */
+                                              return 1737;
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 10) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 17) & 0x1) == 0)
+                                                  if (((word >> 11) & 0x1) == 0)
                                                     {
                                                     {
-                                                      if (((word >> 18) & 0x1) == 0)
+                                                      if (((word >> 20) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 19) & 0x1) == 0)
+                                                          if (((word >> 22) & 0x1) == 0)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0xx0x0000101xxxxxxxxxxxxx
-                                                                 sxtb.  */
-                                                              return 1909;
+                                                                 000001x0x010xxxx110x00xxxxxxxxxx
+                                                                 sqincw.  */
+                                                              return 1857;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0xx0x1000101xxxxxxxxxxxxx
-                                                                 cls.  */
-                                                              return 1274;
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x00110xxxx110x00xxxxxxxxxx
+                                                                     sqinch.  */
+                                                                  return 1851;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x01110xxxx110x00xxxxxxxxxx
+                                                                     sqincd.  */
+                                                                  return 1848;
+                                                                }
                                                             }
                                                         }
                                                       else
                                                         {
                                                             }
                                                         }
                                                       else
                                                         {
-                                                          if (((word >> 19) & 0x1) == 0)
+                                                          if (((word >> 22) & 0x1) == 0)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0xx0x0100101xxxxxxxxxxxxx
-                                                                 sxtw.  */
-                                                              return 1911;
+                                                                 000001x0x011xxxx110x00xxxxxxxxxx
+                                                                 incw.  */
+                                                              return 1487;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0xx0x1100101xxxxxxxxxxxxx
-                                                                 fabs.  */
-                                                              return 1336;
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x00111xxxx110x00xxxxxxxxxx
+                                                                     inch.  */
+                                                                  return 1483;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x01111xxxx110x00xxxxxxxxxx
+                                                                     incd.  */
+                                                                  return 1481;
+                                                                }
                                                             }
                                                         }
                                                     }
                                                   else
                                                     {
                                                             }
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 18) & 0x1) == 0)
+                                                      if (((word >> 22) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 19) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0xx0x0010101xxxxxxxxxxxxx
-                                                                 sxth.  */
-                                                              return 1910;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0xx0x1010101xxxxxxxxxxxxx
-                                                                 cnt.  */
-                                                              return 1303;
-                                                            }
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0x01xxxxx110x10xxxxxxxxxx
+                                                             sqdecw.  */
+                                                          return 1843;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
-                                                          if (((word >> 19) & 0x1) == 0)
+                                                          if (((word >> 23) & 0x1) == 0)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0xx0x0110101xxxxxxxxxxxxx
-                                                                 abs.  */
-                                                              return 1232;
+                                                                 000001x0011xxxxx110x10xxxxxxxxxx
+                                                                 sqdech.  */
+                                                              return 1837;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0xx0x1110101xxxxxxxxxxxxx
-                                                                 not.  */
-                                                              return 1710;
+                                                                 000001x0111xxxxx110x10xxxxxxxxxx
+                                                                 sqdecd.  */
+                                                              return 1834;
                                                             }
                                                         }
                                                     }
                                                 }
                                               else
                                                 {
                                                             }
                                                         }
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 17) & 0x1) == 0)
+                                                  if (((word >> 11) & 0x1) == 0)
                                                     {
                                                     {
-                                                      if (((word >> 18) & 0x1) == 0)
+                                                      if (((word >> 20) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 19) & 0x1) == 0)
+                                                          if (((word >> 22) & 0x1) == 0)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0xx0x0001101xxxxxxxxxxxxx
-                                                                 uxtb.  */
-                                                              return 1972;
+                                                                 000001x0x010xxxx110x01xxxxxxxxxx
+                                                                 uqincw.  */
+                                                              return 2005;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0xx0x1001101xxxxxxxxxxxxx
-                                                                 clz.  */
-                                                              return 1275;
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x00110xxxx110x01xxxxxxxxxx
+                                                                     uqinch.  */
+                                                                  return 1999;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x01110xxxx110x01xxxxxxxxxx
+                                                                     uqincd.  */
+                                                                  return 1996;
+                                                                }
                                                             }
                                                         }
                                                       else
                                                         {
                                                             }
                                                         }
                                                       else
                                                         {
-                                                          if (((word >> 19) & 0x1) == 0)
+                                                          if (((word >> 22) & 0x1) == 0)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0xx0x0101101xxxxxxxxxxxxx
-                                                                 uxtw.  */
-                                                              return 1974;
+                                                                 000001x0x011xxxx110x01xxxxxxxxxx
+                                                                 decw.  */
+                                                              return 1362;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0xx0x1101101xxxxxxxxxxxxx
-                                                                 fneg.  */
-                                                              return 1413;
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x00111xxxx110x01xxxxxxxxxx
+                                                                     dech.  */
+                                                                  return 1358;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x01111xxxx110x01xxxxxxxxxx
+                                                                     decd.  */
+                                                                  return 1356;
+                                                                }
                                                             }
                                                         }
                                                     }
                                                   else
                                                     {
                                                             }
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 18) & 0x1) == 0)
+                                                      if (((word >> 22) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 19) & 0x1) == 0)
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0x01xxxxx110x11xxxxxxxxxx
+                                                             uqdecw.  */
+                                                          return 1991;
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 23) & 0x1) == 0)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0xx0x0011101xxxxxxxxxxxxx
-                                                                 uxth.  */
-                                                              return 1973;
+                                                                 000001x0011xxxxx110x11xxxxxxxxxx
+                                                                 uqdech.  */
+                                                              return 1985;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0xx0x1011101xxxxxxxxxxxxx
-                                                                 cnot.  */
-                                                              return 1302;
+                                                                 000001x0111xxxxx110x11xxxxxxxxxx
+                                                                 uqdecd.  */
+                                                              return 1982;
                                                             }
                                                         }
                                                             }
                                                         }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0xx0xx111101xxxxxxxxxxxxx
-                                                             neg.  */
-                                                          return 1707;
-                                                        }
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
-                                          else
-                                            {
-                                              if (((word >> 12) & 0x1) == 0)
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 21) & 0x1) == 0)
                                                 {
                                                   if (((word >> 23) & 0x1) == 0)
                                                     {
                                                 {
                                                   if (((word >> 23) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 22) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0001xxxxx1010xxxxxxxxxxxx
-                                                             adr.  */
-                                                          return 1238;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0011xxxxx1010xxxxxxxxxxxx
-                                                             adr.  */
-                                                          return 1239;
-                                                        }
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x0000xxxxx110xxxxxxxxxxxxx
+                                                         prfb.  */
+                                                      return 1762;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         000001x01x1xxxxx1010xxxxxxxxxxxx
-                                                         adr.  */
-                                                      return 1240;
+                                                         100001x0100xxxxx110xxxxxxxxxxxxx
+                                                         prfh.  */
+                                                      return 1777;
                                                     }
                                                 }
                                               else
                                                 {
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 10) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
                                                     {
-                                                      if (((word >> 11) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0xx1xxxxx101100xxxxxxxxxx
-                                                             ftssel.  */
-                                                          return 1439;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0xx1xxxxx101110xxxxxxxxxx
-                                                             fexpa.  */
-                                                          return 1383;
-                                                        }
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x0001xxxxx110xxxxxxxxxxxxx
+                                                         ld1b.  */
+                                                      return 1506;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         000001x0xx1xxxxx1011x1xxxxxxxxxx
-                                                         movprfx.  */
-                                                      return 1700;
+                                                         100001x0101xxxxx110xxxxxxxxxxxxx
+                                                         ld1h.  */
+                                                      return 1528;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x000xxxxxx101xxxxxxxxxxxxx
-                                                     ldff1sb.  */
-                                                  return 1626;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x010xxxxxx101xxxxxxxxxxxxx
-                                                     ldff1sh.  */
-                                                  return 1638;
-                                                }
-                                            }
                                           else
                                             {
                                               if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                           else
                                             {
                                               if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     100001x001xxxxxx101xxxxxxxxxxxxx
+                                                     100001x001xxxxxx110xxxxxxxxxxxxx
                                                      ld1rb.  */
                                                      ld1rb.  */
-                                                  return 1494;
+                                                  return 1535;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     100001x011xxxxxx101xxxxxxxxxxxxx
+                                                     100001x011xxxxxx110xxxxxxxxxxxxx
                                                      ld1rh.  */
                                                      ld1rh.  */
-                                                  return 1498;
+                                                  return 1539;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -5368,25 +5753,6 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                   else
                                     {
                                       if (((word >> 21) & 0x1) == 0)
                                   else
                                     {
                                       if (((word >> 21) & 0x1) == 0)
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x00x0xxxxx101xxxxxxxxxxxxx
-                                                 ldff1sb.  */
-                                              return 1625;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x01x0xxxxx101xxxxxxxxxxxxx
-                                                 ldff1sh.  */
-                                              return 1636;
-                                            }
-                                        }
-                                      else
                                         {
                                           if (((word >> 22) & 0x1) == 0)
                                             {
                                         {
                                           if (((word >> 22) & 0x1) == 0)
                                             {
@@ -5394,17 +5760,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x10001x0001xxxxx101xxxxxxxxxxxxx
-                                                     ldff1sb.  */
-                                                  return 1627;
+                                                     x10001x0000xxxxx110xxxxxxxxxxxxx
+                                                     ldnt1b.  */
+                                                  return 2088;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x10001x0101xxxxx101xxxxxxxxxxxxx
-                                                     ldff1sh.  */
-                                                  return 1639;
+                                                     x10001x0100xxxxx110xxxxxxxxxxxxx
+                                                     ldnt1h.  */
+                                                  return 2091;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -5413,612 +5779,2886 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x10001x0011xxxxx101xxxxxxxxxxxxx
-                                                     prfh.  */
-                                                  return 1739;
+                                                     x10001x0010xxxxx110xxxxxxxxxxxxx
+                                                     ld1b.  */
+                                                  return 1505;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x10001x0111xxxxx101xxxxxxxxxxxxx
-                                                     ldff1sh.  */
-                                                  return 1637;
+                                                     x10001x0110xxxxx110xxxxxxxxxxxxx
+                                                     ld1h.  */
+                                                  return 1526;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
-                                    }
-                                }
-                            }
-                          else
-                            {
-                              if (((word >> 15) & 0x1) == 0)
-                                {
-                                  if (((word >> 21) & 0x1) == 0)
-                                    {
-                                      if (((word >> 30) & 0x1) == 0)
+                                      else
                                         {
                                         {
-                                          if (((word >> 31) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 000001x0xx0xxxxx011xxxxxxxxxxxxx
-                                                 mls.  */
-                                              return 1699;
-                                            }
-                                          else
+                                          if (((word >> 22) & 0x1) == 0)
                                             {
                                               if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                             {
                                               if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     100001x00x0xxxxx011xxxxxxxxxxxxx
-                                                     ldff1b.  */
-                                                  return 1583;
+                                                     x10001x0001xxxxx110xxxxxxxxxxxxx
+                                                     ld1b.  */
+                                                  return 1511;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x01x0xxxxx011xxxxxxxxxxxxx
-                                                     ldff1h.  */
-                                                  return 1603;
+                                                  if (((word >> 31) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 10) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0101xxxxx1100x0xxxxxxxxxx
+                                                                 smullb.  */
+                                                              return 2153;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0101xxxxx1101x0xxxxxxxxxx
+                                                                 umullb.  */
+                                                              return 2278;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0101xxxxx1100x1xxxxxxxxxx
+                                                                 smullt.  */
+                                                              return 2156;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0101xxxxx1101x1xxxxxxxxxx
+                                                                 umullt.  */
+                                                              return 2281;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0101xxxxx110xxxxxxxxxxxxx
+                                                         ld1h.  */
+                                                      return 1532;
+                                                    }
                                                 }
                                             }
                                                 }
                                             }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x00x0xxxxx011xxxxxxxxxxxxx
-                                                 ldff1b.  */
-                                              return 1592;
-                                            }
                                           else
                                             {
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x01x0xxxxx011xxxxxxxxxxxxx
-                                                 ldff1h.  */
-                                              return 1611;
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x10001x0011xxxxx110xxxxxxxxxxxxx
+                                                     prfw.  */
+                                                  return 1786;
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 31) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 10) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0111xxxxx1100x0xxxxxxxxxx
+                                                                 smullb.  */
+                                                              return 2154;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0111xxxxx1101x0xxxxxxxxxx
+                                                                 umullb.  */
+                                                              return 2279;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0111xxxxx1100x1xxxxxxxxxx
+                                                                 smullt.  */
+                                                              return 2157;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0111xxxxx1101x1xxxxxxxxxx
+                                                                 umullt.  */
+                                                              return 2282;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0111xxxxx110xxxxxxxxxxxxx
+                                                         ld1h.  */
+                                                      return 1527;
+                                                    }
+                                                }
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
-                                  else
+                                }
+                            }
+                        }
+                      else
+                        {
+                          if (((word >> 14) & 0x1) == 0)
+                            {
+                              if (((word >> 15) & 0x1) == 0)
+                                {
+                                  if (((word >> 21) & 0x1) == 0)
                                     {
                                     {
-                                      if (((word >> 23) & 0x1) == 0)
-                                        {
-                                          if (((word >> 30) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x00001x00x1xxxxx011xxxxxxxxxxxxx
-                                                 prfd.  */
-                                              return 1729;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x00x1xxxxx011xxxxxxxxxxxxx
-                                                 prfd.  */
-                                              return 1731;
-                                            }
-                                        }
-                                      else
+                                      if (((word >> 30) & 0x1) == 0)
                                         {
                                         {
-                                          if (((word >> 30) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x00001x01x1xxxxx011xxxxxxxxxxxxx
-                                                 ldff1h.  */
-                                              return 1604;
-                                            }
-                                          else
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x01x1xxxxx011xxxxxxxxxxxxx
-                                                 ldff1h.  */
-                                              return 1612;
-                                            }
-                                        }
-                                    }
-                                }
-                              else
-                                {
-                                  if (((word >> 30) & 0x1) == 0)
-                                    {
-                                      if (((word >> 31) & 0x1) == 0)
-                                        {
-                                          if (((word >> 21) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 000001x0xx0xxxxx111xxxxxxxxxxxxx
-                                                 msb.  */
-                                              return 1702;
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 10) & 0x1) == 0)
+                                              if (((word >> 17) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 11) & 0x1) == 0)
+                                                  if (((word >> 19) & 0x1) == 0)
                                                     {
                                                     {
-                                                      if (((word >> 12) & 0x1) == 0)
+                                                      if (((word >> 20) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 20) & 0x1) == 0)
+                                                          if (((word >> 16) & 0x1) == 0)
                                                             {
                                                             {
-                                                              if (((word >> 22) & 0x1) == 0)
-                                                                {
-                                                                  if (((word >> 23) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x00010xxxx111000xxxxxxxxxx
-                                                                         cntb.  */
-                                                                      return 1304;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x01010xxxx111000xxxxxxxxxx
-                                                                         cntw.  */
-                                                                      return 1308;
-                                                                    }
-                                                                }
-                                                              else
-                                                                {
-                                                                  if (((word >> 23) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x00110xxxx111000xxxxxxxxxx
-                                                                         cnth.  */
-                                                                      return 1306;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x01110xxxx111000xxxxxxxxxx
-                                                                         cntd.  */
-                                                                      return 1305;
-                                                                    }
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx000x00001xxxxxxxxxxxxx
+                                                                 saddv.  */
+                                                              return 1806;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 22) & 0x1) == 0)
-                                                                {
-                                                                  if (((word >> 23) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x00011xxxx111000xxxxxxxxxx
-                                                                         incb.  */
-                                                                      return 1440;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x01011xxxx111000xxxxxxxxxx
-                                                                         incw.  */
-                                                                      return 1448;
-                                                                    }
-                                                                }
-                                                              else
-                                                                {
-                                                                  if (((word >> 23) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x00111xxxx111000xxxxxxxxxx
-                                                                         inch.  */
-                                                                      return 1444;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x01111xxxx111000xxxxxxxxxx
-                                                                         incd.  */
-                                                                      return 1442;
-                                                                    }
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx000x01001xxxxxxxxxxxxx
+                                                                 uaddv.  */
+                                                              return 1958;
                                                             }
                                                         }
                                                       else
                                                         {
                                                             }
                                                         }
                                                       else
                                                         {
-                                                          if (((word >> 20) & 0x1) == 0)
-                                                            {
-                                                              if (((word >> 22) & 0x1) == 0)
-                                                                {
-                                                                  if (((word >> 23) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x00010xxxx111100xxxxxxxxxx
-                                                                         sqincb.  */
-                                                                      return 1807;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x01010xxxx111100xxxxxxxxxx
-                                                                         sqincw.  */
-                                                                      return 1819;
-                                                                    }
-                                                                }
-                                                              else
-                                                                {
-                                                                  if (((word >> 23) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x00110xxxx111100xxxxxxxxxx
-                                                                         sqinch.  */
-                                                                      return 1813;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x01110xxxx111100xxxxxxxxxx
-                                                                         sqincd.  */
-                                                                      return 1810;
-                                                                    }
-                                                                }
-                                                            }
-                                                          else
-                                                            {
-                                                              if (((word >> 22) & 0x1) == 0)
-                                                                {
-                                                                  if (((word >> 23) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x00011xxxx111100xxxxxxxxxx
-                                                                         sqincb.  */
-                                                                      return 1806;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x01011xxxx111100xxxxxxxxxx
-                                                                         sqincw.  */
-                                                                      return 1818;
-                                                                    }
-                                                                }
-                                                              else
-                                                                {
-                                                                  if (((word >> 23) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x00111xxxx111100xxxxxxxxxx
-                                                                         sqinch.  */
-                                                                      return 1812;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x01111xxxx111100xxxxxxxxxx
-                                                                         sqincd.  */
-                                                                      return 1809;
-                                                                    }
-                                                                }
-                                                            }
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx010x0x001xxxxxxxxxxxxx
+                                                             movprfx.  */
+                                                          return 1741;
                                                         }
                                                     }
                                                   else
                                                     {
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 20) & 0x1) == 0)
+                                                      if (((word >> 16) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 22) & 0x1) == 0)
+                                                          if (((word >> 20) & 0x1) == 0)
                                                             {
                                                             {
-                                                              if (((word >> 23) & 0x1) == 0)
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x00010xxxx111x10xxxxxxxxxx
-                                                                     sqdecb.  */
-                                                                  return 1793;
-                                                                }
-                                                              else
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x01010xxxx111x10xxxxxxxxxx
-                                                                     sqdecw.  */
-                                                                  return 1805;
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx001x00001xxxxxxxxxxxxx
+                                                                 smaxv.  */
+                                                              return 1824;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 23) & 0x1) == 0)
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x00110xxxx111x10xxxxxxxxxx
-                                                                     sqdech.  */
-                                                                  return 1799;
-                                                                }
-                                                              else
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x01110xxxx111x10xxxxxxxxxx
-                                                                     sqdecd.  */
-                                                                  return 1796;
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx011x00001xxxxxxxxxxxxx
+                                                                 orv.  */
+                                                              return 1758;
                                                             }
                                                         }
                                                       else
                                                         {
                                                             }
                                                         }
                                                       else
                                                         {
-                                                          if (((word >> 22) & 0x1) == 0)
+                                                          if (((word >> 20) & 0x1) == 0)
                                                             {
                                                             {
-                                                              if (((word >> 23) & 0x1) == 0)
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x00011xxxx111x10xxxxxxxxxx
-                                                                     sqdecb.  */
-                                                                  return 1792;
-                                                                }
-                                                              else
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x01011xxxx111x10xxxxxxxxxx
-                                                                     sqdecw.  */
-                                                                  return 1804;
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx001x01001xxxxxxxxxxxxx
+                                                                 umaxv.  */
+                                                              return 1973;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 23) & 0x1) == 0)
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x00111xxxx111x10xxxxxxxxxx
-                                                                     sqdech.  */
-                                                                  return 1798;
-                                                                }
-                                                              else
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x01111xxxx111x10xxxxxxxxxx
-                                                                     sqdecd.  */
-                                                                  return 1795;
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx011x01001xxxxxxxxxxxxx
+                                                                 eorv.  */
+                                                              return 1373;
                                                             }
                                                         }
                                                     }
                                                 }
                                               else
                                                             }
                                                         }
                                                     }
                                                 }
                                               else
+                                                {
+                                                  if (((word >> 16) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx00xx10001xxxxxxxxxxxxx
+                                                             sminv.  */
+                                                          return 1827;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx01xx10001xxxxxxxxxxxxx
+                                                             andv.  */
+                                                          return 1286;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         000001x0xx0xxx11001xxxxxxxxxxxxx
+                                                         uminv.  */
+                                                      return 1976;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x00x0xxxxx001xxxxxxxxxxxxx
+                                                     ldff1sb.  */
+                                                  return 1657;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x01x0xxxxx001xxxxxxxxxxxxx
+                                                     ldff1sh.  */
+                                                  return 1668;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              if (((word >> 12) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     010001x0xx0xxxxx0010xxxxxxxxxxxx
+                                                     cmla.  */
+                                                  return 2058;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     010001x0xx0xxxxx0011xxxxxxxxxxxx
+                                                     sqrdcmlah.  */
+                                                  return 2190;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x00x0xxxxx001xxxxxxxxxxxxx
+                                                     ldff1sb.  */
+                                                  return 1664;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x01x0xxxxx001xxxxxxxxxxxxx
+                                                     ldff1sh.  */
+                                                  return 1674;
+                                                }
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 30) & 0x1) == 0)
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              if (((word >> 10) & 0x1) == 0)
                                                 {
                                                   if (((word >> 11) & 0x1) == 0)
                                                     {
                                                 {
                                                   if (((word >> 11) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 12) & 0x1) == 0)
+                                                      if (((word >> 22) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 22) & 0x1) == 0)
+                                                          if (((word >> 23) & 0x1) == 0)
                                                             {
                                                             {
-                                                              if (((word >> 23) & 0x1) == 0)
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x0001xxxxx111001xxxxxxxxxx
-                                                                     decb.  */
-                                                                  return 1315;
-                                                                }
-                                                              else
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x0101xxxxx111001xxxxxxxxxx
-                                                                     decw.  */
-                                                                  return 1323;
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0001xxxxx001x00xxxxxxxxxx
+                                                                 and.  */
+                                                              return 1281;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 23) & 0x1) == 0)
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x0011xxxxx111001xxxxxxxxxx
-                                                                     dech.  */
-                                                                  return 1319;
-                                                                }
-                                                              else
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x0111xxxxx111001xxxxxxxxxx
-                                                                     decd.  */
-                                                                  return 1317;
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0101xxxxx001x00xxxxxxxxxx
+                                                                 eor.  */
+                                                              return 1368;
                                                             }
                                                         }
                                                       else
                                                         {
                                                             }
                                                         }
                                                       else
                                                         {
-                                                          if (((word >> 20) & 0x1) == 0)
+                                                          if (((word >> 23) & 0x1) == 0)
                                                             {
                                                             {
-                                                              if (((word >> 22) & 0x1) == 0)
-                                                                {
-                                                                  if (((word >> 23) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x00010xxxx111101xxxxxxxxxx
-                                                                         uqincb.  */
-                                                                      return 1954;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x01010xxxx111101xxxxxxxxxx
-                                                                         uqincw.  */
-                                                                      return 1966;
-                                                                    }
-                                                                }
-                                                              else
-                                                                {
-                                                                  if (((word >> 23) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x00110xxxx111101xxxxxxxxxx
-                                                                         uqinch.  */
-                                                                      return 1960;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x01110xxxx111101xxxxxxxxxx
-                                                                         uqincd.  */
-                                                                      return 1957;
-                                                                    }
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0011xxxxx001x00xxxxxxxxxx
+                                                                 orr.  */
+                                                              return 1753;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 22) & 0x1) == 0)
-                                                                {
-                                                                  if (((word >> 23) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x00011xxxx111101xxxxxxxxxx
-                                                                         uqincb.  */
-                                                                      return 1955;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x01011xxxx111101xxxxxxxxxx
-                                                                         uqincw.  */
-                                                                      return 1967;
-                                                                    }
-                                                                }
-                                                              else
-                                                                {
-                                                                  if (((word >> 23) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x00111xxxx111101xxxxxxxxxx
-                                                                         uqinch.  */
-                                                                      return 1961;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x01111xxxx111101xxxxxxxxxx
-                                                                         uqincd.  */
-                                                                      return 1958;
-                                                                    }
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0111xxxxx001x00xxxxxxxxxx
+                                                                 bic.  */
+                                                              return 1294;
                                                             }
                                                         }
                                                     }
                                                   else
                                                     {
                                                             }
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 20) & 0x1) == 0)
+                                                      if (((word >> 22) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 22) & 0x1) == 0)
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0x01xxxxx001x10xxxxxxxxxx
+                                                             eor3.  */
+                                                          return 2061;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0x11xxxxx001x10xxxxxxxxxx
+                                                             bcax.  */
+                                                          return 2050;
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         000001x0xx1xxxxx001x01xxxxxxxxxx
+                                                         xar.  */
+                                                      return 2323;
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 23) & 0x1) == 0)
                                                             {
                                                             {
-                                                              if (((word >> 23) & 0x1) == 0)
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x00010xxxx111x11xxxxxxxxxx
-                                                                     uqdecb.  */
-                                                                  return 1940;
-                                                                }
-                                                              else
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x01010xxxx111x11xxxxxxxxxx
-                                                                     uqdecw.  */
-                                                                  return 1952;
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0001xxxxx001x11xxxxxxxxxx
+                                                                 bsl.  */
+                                                              return 2051;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 23) & 0x1) == 0)
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x00110xxxx111x11xxxxxxxxxx
-                                                                     uqdech.  */
-                                                                  return 1946;
-                                                                }
-                                                              else
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x01110xxxx111x11xxxxxxxxxx
-                                                                     uqdecd.  */
-                                                                  return 1943;
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0101xxxxx001x11xxxxxxxxxx
+                                                                 bsl2n.  */
+                                                              return 2053;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 23) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0011xxxxx001x11xxxxxxxxxx
+                                                                 bsl1n.  */
+                                                              return 2052;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0111xxxxx001x11xxxxxxxxxx
+                                                                 nbsl.  */
+                                                              return 2108;
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x00x1xxxxx001xxxxxxxxxxxxx
+                                                     prfh.  */
+                                                  return 1776;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x01x1xxxxx001xxxxxxxxxxxxx
+                                                     ldff1sh.  */
+                                                  return 1669;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 x10001x00x1xxxxx001xxxxxxxxxxxxx
+                                                 prfh.  */
+                                              return 1778;
+                                            }
+                                          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 2163;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0111xxxxx0010x0xxxxxxxxxx
+                                                                 sqdmlalb.  */
+                                                              return 2164;
                                                             }
                                                         }
                                                       else
                                                         {
                                                           if (((word >> 22) & 0x1) == 0)
                                                             {
                                                             }
                                                         }
                                                       else
                                                         {
                                                           if (((word >> 22) & 0x1) == 0)
                                                             {
-                                                              if (((word >> 23) & 0x1) == 0)
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x00011xxxx111x11xxxxxxxxxx
-                                                                     uqdecb.  */
-                                                                  return 1941;
-                                                                }
-                                                              else
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x01011xxxx111x11xxxxxxxxxx
-                                                                     uqdecw.  */
-                                                                  return 1953;
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0101xxxxx0011x0xxxxxxxxxx
+                                                                 sqdmlslb.  */
+                                                              return 2170;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 23) & 0x1) == 0)
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x00111xxxx111x11xxxxxxxxxx
-                                                                     uqdech.  */
-                                                                  return 1947;
-                                                                }
-                                                              else
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x01111xxxx111x11xxxxxxxxxx
-                                                                     uqdecd.  */
-                                                                  return 1944;
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0111xxxxx0011x0xxxxxxxxxx
+                                                                 sqdmlslb.  */
+                                                              return 2171;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 22) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0101xxxxx0010x1xxxxxxxxxx
+                                                                 sqdmlalt.  */
+                                                              return 2167;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0111xxxxx0010x1xxxxxxxxxx
+                                                                 sqdmlalt.  */
+                                                              return 2168;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 22) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0101xxxxx0011x1xxxxxxxxxx
+                                                                 sqdmlslt.  */
+                                                              return 2174;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0111xxxxx0011x1xxxxxxxxxx
+                                                                 sqdmlslt.  */
+                                                              return 2175;
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x01x1xxxxx001xxxxxxxxxxxxx
+                                                     ldff1sh.  */
+                                                  return 1675;
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                              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 1949;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx0x1000101xxxxxxxxxxxxx
+                                                                 cls.  */
+                                                              return 1314;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx0x0100101xxxxxxxxxxxxx
+                                                                 sxtw.  */
+                                                              return 1951;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx0x1100101xxxxxxxxxxxxx
+                                                                 fabs.  */
+                                                              return 1376;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 18) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx0x0010101xxxxxxxxxxxxx
+                                                                 sxth.  */
+                                                              return 1950;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx0x1010101xxxxxxxxxxxxx
+                                                                 cnt.  */
+                                                              return 1343;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx0x0110101xxxxxxxxxxxxx
+                                                                 abs.  */
+                                                              return 1272;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx0x1110101xxxxxxxxxxxxx
+                                                                 not.  */
+                                                              return 1750;
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 17) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 18) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx0x0001101xxxxxxxxxxxxx
+                                                                 uxtb.  */
+                                                              return 2012;
                                                             }
                                                             }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx0x1001101xxxxxxxxxxxxx
+                                                                 clz.  */
+                                                              return 1315;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx0x0101101xxxxxxxxxxxxx
+                                                                 uxtw.  */
+                                                              return 2014;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx0x1101101xxxxxxxxxxxxx
+                                                                 fneg.  */
+                                                              return 1453;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 18) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx0x0011101xxxxxxxxxxxxx
+                                                                 uxth.  */
+                                                              return 2013;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx0x1011101xxxxxxxxxxxxx
+                                                                 cnot.  */
+                                                              return 1342;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx0xx111101xxxxxxxxxxxxx
+                                                             neg.  */
+                                                          return 1747;
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 12) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0001xxxxx1010xxxxxxxxxxxx
+                                                             adr.  */
+                                                          return 1278;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0011xxxxx1010xxxxxxxxxxxx
+                                                             adr.  */
+                                                          return 1279;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         000001x01x1xxxxx1010xxxxxxxxxxxx
+                                                         adr.  */
+                                                      return 1280;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 10) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 11) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx1xxxxx101100xxxxxxxxxx
+                                                             ftssel.  */
+                                                          return 1479;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx1xxxxx101110xxxxxxxxxx
+                                                             fexpa.  */
+                                                          return 1423;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         000001x0xx1xxxxx1011x1xxxxxxxxxx
+                                                         movprfx.  */
+                                                      return 1740;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 21) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x0000xxxxx101xxxxxxxxxxxxx
+                                                         ldnt1b.  */
+                                                      return 2087;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x0100xxxxx101xxxxxxxxxxxxx
+                                                         ldnt1h.  */
+                                                      return 2090;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x0001xxxxx101xxxxxxxxxxxxx
+                                                         ldff1sb.  */
+                                                      return 1666;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x0101xxxxx101xxxxxxxxxxxxx
+                                                         ldff1sh.  */
+                                                      return 1678;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x001xxxxxx101xxxxxxxxxxxxx
+                                                     ld1rb.  */
+                                                  return 1534;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x011xxxxxx101xxxxxxxxxxxxx
+                                                     ld1rh.  */
+                                                  return 1538;
+                                                }
+                                            }
+                                        }
+                                    }
+                                  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 2298;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0xx0x1000101xxxxxxxxxxxxx
+                                                                 sqabs.  */
+                                                              return 2160;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0xx00x100101xxxxxxxxxxxxx
+                                                                 sadalp.  */
+                                                              return 2124;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0xx01x100101xxxxxxxxxxxxx
+                                                                 smaxp.  */
+                                                              return 2138;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         010001x0xx0xxx10101xxxxxxxxxxxxx
+                                                         sminp.  */
+                                                      return 2139;
+                                                    }
+                                                }
+                                              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 2303;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0xx010001101xxxxxxxxxxxxx
+                                                                     addp.  */
+                                                                  return 2049;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0xx0x1001101xxxxxxxxxxxxx
+                                                                 sqneg.  */
+                                                              return 2187;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0xx00x101101xxxxxxxxxxxxx
+                                                                 uadalp.  */
+                                                              return 2255;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0xx01x101101xxxxxxxxxxxxx
+                                                                 umaxp.  */
+                                                              return 2263;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         010001x0xx0xxx11101xxxxxxxxxxxxx
+                                                         uminp.  */
+                                                      return 2264;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x00x0xxxxx101xxxxxxxxxxxxx
+                                                     ldff1sb.  */
+                                                  return 1665;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x01x0xxxxx101xxxxxxxxxxxxx
+                                                     ldff1sh.  */
+                                                  return 1676;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x10001x0001xxxxx101xxxxxxxxxxxxx
+                                                     ldff1sb.  */
+                                                  return 1667;
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 31) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 10) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0101xxxxx1010x0xxxxxxxxxx
+                                                                 smlslb.  */
+                                                              return 2146;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0101xxxxx1011x0xxxxxxxxxx
+                                                                 umlslb.  */
+                                                              return 2271;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0101xxxxx1010x1xxxxxxxxxx
+                                                                 smlslt.  */
+                                                              return 2149;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0101xxxxx1011x1xxxxxxxxxx
+                                                                 umlslt.  */
+                                                              return 2274;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0101xxxxx101xxxxxxxxxxxxx
+                                                         ldff1sh.  */
+                                                      return 1679;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x10001x0011xxxxx101xxxxxxxxxxxxx
+                                                     prfh.  */
+                                                  return 1779;
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 31) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 10) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0111xxxxx1010x0xxxxxxxxxx
+                                                                 smlslb.  */
+                                                              return 2147;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0111xxxxx1011x0xxxxxxxxxx
+                                                                 umlslb.  */
+                                                              return 2272;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0111xxxxx1010x1xxxxxxxxxx
+                                                                 smlslt.  */
+                                                              return 2150;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0111xxxxx1011x1xxxxxxxxxx
+                                                                 umlslt.  */
+                                                              return 2275;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0111xxxxx101xxxxxxxxxxxxx
+                                                         ldff1sh.  */
+                                                      return 1677;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                          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 1739;
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x00x0xxxxx011xxxxxxxxxxxxx
+                                                     ldff1b.  */
+                                                  return 1623;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x01x0xxxxx011xxxxxxxxxxxxx
+                                                     ldff1h.  */
+                                                  return 1643;
+                                                }
+                                            }
+                                        }
+                                      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 2165;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0xx0xxxxx011100xxxxxxxxxx
+                                                             sqrdmlah.  */
+                                                          return 2194;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0xx0xxxxx011010xxxxxxxxxx
+                                                             sqdmlslb.  */
+                                                          return 2172;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0xx0xxxxx011110xxxxxxxxxx
+                                                             usdot.  */
+                                                          return 2394;
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0xx0xxxxx011001xxxxxxxxxx
+                                                             sqdmlalt.  */
+                                                          return 2169;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0xx0xxxxx011101xxxxxxxxxx
+                                                             sqrdmlsh.  */
+                                                          return 2198;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         010001x0xx0xxxxx011x11xxxxxxxxxx
+                                                         sqdmlslt.  */
+                                                      return 2176;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x00x0xxxxx011xxxxxxxxxxxxx
+                                                     ldff1b.  */
+                                                  return 1632;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x01x0xxxxx011xxxxxxxxxxxxx
+                                                     ldff1h.  */
+                                                  return 1651;
+                                                }
+                                            }
+                                        }
+                                    }
+                                  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 2107;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx1xxxxx011100xxxxxxxxxx
+                                                             sqdmulh.  */
+                                                          return 2180;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         000001x0xx1xxxxx011x10xxxxxxxxxx
+                                                         smulh.  */
+                                                      return 2152;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx1xxxxx011001xxxxxxxxxx
+                                                             pmul.  */
+                                                          return 2110;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx1xxxxx011101xxxxxxxxxx
+                                                             sqrdmulh.  */
+                                                          return 2202;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         000001x0xx1xxxxx011x11xxxxxxxxxx
+                                                         umulh.  */
+                                                      return 2277;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x00x1xxxxx011xxxxxxxxxxxxx
+                                                     prfd.  */
+                                                  return 1769;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x01x1xxxxx011xxxxxxxxxxxxx
+                                                     ldff1h.  */
+                                                  return 1644;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 x10001x00x1xxxxx011xxxxxxxxxxxxx
+                                                 prfd.  */
+                                              return 1771;
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 31) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 12) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0101xxxxx0110xxxxxxxxxxxx
+                                                             cmla.  */
+                                                          return 2059;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0111xxxxx0110xxxxxxxxxxxx
+                                                             cmla.  */
+                                                          return 2060;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0101xxxxx0111xxxxxxxxxxxx
+                                                             sqrdcmlah.  */
+                                                          return 2188;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0111xxxxx0111xxxxxxxxxxxx
+                                                             sqrdcmlah.  */
+                                                          return 2189;
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x01x1xxxxx011xxxxxxxxxxxxx
+                                                     ldff1h.  */
+                                                  return 1652;
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                              else
+                                {
+                                  if (((word >> 30) & 0x1) == 0)
+                                    {
+                                      if (((word >> 31) & 0x1) == 0)
+                                        {
+                                          if (((word >> 21) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 000001x0xx0xxxxx111xxxxxxxxxxxxx
+                                                 msb.  */
+                                              return 1742;
+                                            }
+                                          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 1344;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x01010xxxx111000xxxxxxxxxx
+                                                                         cntw.  */
+                                                                      return 1348;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 23) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x00110xxxx111000xxxxxxxxxx
+                                                                         cnth.  */
+                                                                      return 1346;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x01110xxxx111000xxxxxxxxxx
+                                                                         cntd.  */
+                                                                      return 1345;
+                                                                    }
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 22) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 23) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x00011xxxx111000xxxxxxxxxx
+                                                                         incb.  */
+                                                                      return 1480;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x01011xxxx111000xxxxxxxxxx
+                                                                         incw.  */
+                                                                      return 1488;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 23) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x00111xxxx111000xxxxxxxxxx
+                                                                         inch.  */
+                                                                      return 1484;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x01111xxxx111000xxxxxxxxxx
+                                                                         incd.  */
+                                                                      return 1482;
+                                                                    }
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 22) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 23) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x00010xxxx111100xxxxxxxxxx
+                                                                         sqincb.  */
+                                                                      return 1847;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x01010xxxx111100xxxxxxxxxx
+                                                                         sqincw.  */
+                                                                      return 1859;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 23) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x00110xxxx111100xxxxxxxxxx
+                                                                         sqinch.  */
+                                                                      return 1853;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x01110xxxx111100xxxxxxxxxx
+                                                                         sqincd.  */
+                                                                      return 1850;
+                                                                    }
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 22) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 23) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x00011xxxx111100xxxxxxxxxx
+                                                                         sqincb.  */
+                                                                      return 1846;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x01011xxxx111100xxxxxxxxxx
+                                                                         sqincw.  */
+                                                                      return 1858;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 23) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x00111xxxx111100xxxxxxxxxx
+                                                                         sqinch.  */
+                                                                      return 1852;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x01111xxxx111100xxxxxxxxxx
+                                                                         sqincd.  */
+                                                                      return 1849;
+                                                                    }
+                                                                }
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 22) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x00010xxxx111x10xxxxxxxxxx
+                                                                     sqdecb.  */
+                                                                  return 1833;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x01010xxxx111x10xxxxxxxxxx
+                                                                     sqdecw.  */
+                                                                  return 1845;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x00110xxxx111x10xxxxxxxxxx
+                                                                     sqdech.  */
+                                                                  return 1839;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x01110xxxx111x10xxxxxxxxxx
+                                                                     sqdecd.  */
+                                                                  return 1836;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 22) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x00011xxxx111x10xxxxxxxxxx
+                                                                     sqdecb.  */
+                                                                  return 1832;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x01011xxxx111x10xxxxxxxxxx
+                                                                     sqdecw.  */
+                                                                  return 1844;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x00111xxxx111x10xxxxxxxxxx
+                                                                     sqdech.  */
+                                                                  return 1838;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x01111xxxx111x10xxxxxxxxxx
+                                                                     sqdecd.  */
+                                                                  return 1835;
+                                                                }
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                              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 1355;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0101xxxxx111001xxxxxxxxxx
+                                                                     decw.  */
+                                                                  return 1363;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0011xxxxx111001xxxxxxxxxx
+                                                                     dech.  */
+                                                                  return 1359;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0111xxxxx111001xxxxxxxxxx
+                                                                     decd.  */
+                                                                  return 1357;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 22) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 23) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x00010xxxx111101xxxxxxxxxx
+                                                                         uqincb.  */
+                                                                      return 1994;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x01010xxxx111101xxxxxxxxxx
+                                                                         uqincw.  */
+                                                                      return 2006;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 23) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x00110xxxx111101xxxxxxxxxx
+                                                                         uqinch.  */
+                                                                      return 2000;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x01110xxxx111101xxxxxxxxxx
+                                                                         uqincd.  */
+                                                                      return 1997;
+                                                                    }
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 22) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 23) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x00011xxxx111101xxxxxxxxxx
+                                                                         uqincb.  */
+                                                                      return 1995;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x01011xxxx111101xxxxxxxxxx
+                                                                         uqincw.  */
+                                                                      return 2007;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 23) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x00111xxxx111101xxxxxxxxxx
+                                                                         uqinch.  */
+                                                                      return 2001;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x01111xxxx111101xxxxxxxxxx
+                                                                         uqincd.  */
+                                                                      return 1998;
+                                                                    }
+                                                                }
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 22) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x00010xxxx111x11xxxxxxxxxx
+                                                                     uqdecb.  */
+                                                                  return 1980;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x01010xxxx111x11xxxxxxxxxx
+                                                                     uqdecw.  */
+                                                                  return 1992;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x00110xxxx111x11xxxxxxxxxx
+                                                                     uqdech.  */
+                                                                  return 1986;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x01110xxxx111x11xxxxxxxxxx
+                                                                     uqdecd.  */
+                                                                  return 1983;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 22) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x00011xxxx111x11xxxxxxxxxx
+                                                                     uqdecb.  */
+                                                                  return 1981;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x01011xxxx111x11xxxxxxxxxx
+                                                                     uqdecw.  */
+                                                                  return 1993;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x00111xxxx111x11xxxxxxxxxx
+                                                                     uqdech.  */
+                                                                  return 1987;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x01111xxxx111x11xxxxxxxxxx
+                                                                     uqdecd.  */
+                                                                  return 1984;
+                                                                }
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 21) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x0000xxxxx111xxxxxxxxxxxxx
+                                                         prfb.  */
+                                                      return 1766;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x0100xxxxx111xxxxxxxxxxxxx
+                                                         prfh.  */
+                                                      return 1780;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x0001xxxxx111xxxxxxxxxxxxx
+                                                         ldff1b.  */
+                                                      return 1634;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x0101xxxxx111xxxxxxxxxxxxx
+                                                         ldff1h.  */
+                                                      return 1655;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x001xxxxxx111xxxxxxxxxxxxx
+                                                     ld1rb.  */
+                                                  return 1536;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x011xxxxxx111xxxxxxxxxxxxx
+                                                     ld1rh.  */
+                                                  return 1540;
+                                                }
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 21) & 0x1) == 0)
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x10001x0000xxxxx111xxxxxxxxxxxxx
+                                                     prfb.  */
+                                                  return 1768;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x10001x0100xxxxx111xxxxxxxxxxxxx
+                                                     prfh.  */
+                                                  return 1782;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x10001x0010xxxxx111xxxxxxxxxxxxx
+                                                     ldff1b.  */
+                                                  return 1633;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x10001x0110xxxxx111xxxxxxxxxxxxx
+                                                     ldff1h.  */
+                                                  return 1653;
+                                                }
+                                            }
+                                        }
+                                      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 2177;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x00x1xxxxx111x10xxxxxxxxxx
+                                                             mul.  */
+                                                          return 2104;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         010001x00x1xxxxx111xx1xxxxxxxxxx
+                                                         sqrdmulh.  */
+                                                      return 2199;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 22) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0001xxxxx111xxxxxxxxxxxxx
+                                                         ldff1b.  */
+                                                      return 1635;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0011xxxxx111xxxxxxxxxxxxx
+                                                         prfd.  */
+                                                      return 1772;
+                                                    }
+                                                }
+                                            }
+                                          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 2181;
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 11) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0101xxxxx111100xxxxxxxxxx
+                                                                     sqdmulh.  */
+                                                                  return 2178;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0101xxxxx111110xxxxxxxxxx
+                                                                     mul.  */
+                                                                  return 2105;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0101xxxxx1110x1xxxxxxxxxx
+                                                                 sqdmullt.  */
+                                                              return 2184;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0101xxxxx1111x1xxxxxxxxxx
+                                                                 sqrdmulh.  */
+                                                              return 2200;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0101xxxxx111xxxxxxxxxxxxx
+                                                         ldff1h.  */
+                                                      return 1656;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 31) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 10) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0111xxxxx1110x0xxxxxxxxxx
+                                                                 sqdmullb.  */
+                                                              return 2182;
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 11) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0111xxxxx111100xxxxxxxxxx
+                                                                     sqdmulh.  */
+                                                                  return 2179;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x0111xxxxx111110xxxxxxxxxx
+                                                                     mul.  */
+                                                                  return 2106;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0111xxxxx1110x1xxxxxxxxxx
+                                                                 sqdmullt.  */
+                                                              return 2185;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x0111xxxxx1111x1xxxxxxxxxx
+                                                                 sqrdmulh.  */
+                                                              return 2201;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0111xxxxx111xxxxxxxxxxxxx
+                                                         ldff1h.  */
+                                                      return 1654;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                  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 1328;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx000xxxxxxxx1xxxx
+                                                     cmphi.  */
+                                                  return 1325;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x00x0xxxxx000xxxxxxxxxxxxx
+                                                     ld1rqb.  */
+                                                  return 1542;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x01x0xxxxx000xxxxxxxxxxxxx
+                                                     ld1rqh.  */
+                                                  return 1546;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx010xxxxxxxx0xxxx
+                                                     cmpge.  */
+                                                  return 1319;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx010xxxxxxxx1xxxx
+                                                     cmpgt.  */
+                                                  return 1322;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0000xxxxx010xxxxxxxxxxxxx
+                                                         ld1b.  */
+                                                      return 1500;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0100xxxxx010xxxxxxxxxxxxx
+                                                         ld1sw.  */
+                                                      return 1580;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0010xxxxx010xxxxxxxxxxxxx
+                                                         ld1b.  */
+                                                      return 1502;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0110xxxxx010xxxxxxxxxxxxx
+                                                         ld1h.  */
+                                                      return 1522;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 14) & 0x1) == 0)
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx001xxxxxxxx0xxxx
+                                                     cmpeq.  */
+                                                  return 1316;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx001xxxxxxxx1xxxx
+                                                     cmpne.  */
+                                                  return 1339;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x00x0xxxxx001xxxxxxxxxxxxx
+                                                     ld1rqb.  */
+                                                  return 1541;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x01x0xxxxx001xxxxxxxxxxxxx
+                                                     ld1rqh.  */
+                                                  return 1545;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx011xxxxxxxx0xxxx
+                                                     cmplt.  */
+                                                  return 1337;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx011xxxxxxxx1xxxx
+                                                     cmple.  */
+                                                  return 1331;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0000xxxxx011xxxxxxxxxxxxx
+                                                         ldff1b.  */
+                                                      return 1624;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0100xxxxx011xxxxxxxxxxxxx
+                                                         ldff1sw.  */
+                                                      return 1680;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0010xxxxx011xxxxxxxxxxxxx
+                                                         ldff1b.  */
+                                                      return 1628;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0110xxxxx011xxxxxxxxxxxxx
+                                                         ldff1h.  */
+                                                      return 1647;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                              else
+                                {
+                                  if (((word >> 31) & 0x1) == 0)
+                                    {
+                                      /* 33222222222211111111110000000000
+                                         10987654321098765432109876543210
+                                         011001x0xx0xxxxx0xxxxxxxxxxxxxxx
+                                         fcmla.  */
+                                      return 1385;
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 13) & 0x1) == 0)
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 111001x0x00xxxxx0x0xxxxxxxxxxxxx
+                                                 st1b.  */
+                                              return 1862;
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     111001x0010xxxxx0x0xxxxxxxxxxxxx
+                                                     st1b.  */
+                                                  return 1866;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     111001x0110xxxxx0x0xxxxxxxxxxxxx
+                                                     st1h.  */
+                                                  return 1887;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 14) & 0x1) == 0)
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0000xxxxx001xxxxxxxxxxxxx
+                                                         stnt1b.  */
+                                                      return 2239;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0100xxxxx001xxxxxxxxxxxxx
+                                                         stnt1h.  */
+                                                      return 2242;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0010xxxxx001xxxxxxxxxxxxx
+                                                         stnt1b.  */
+                                                      return 2238;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0110xxxxx001xxxxxxxxxxxxx
+                                                         stnt1h.  */
+                                                      return 2241;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0000xxxxx011xxxxxxxxxxxxx
+                                                         stnt1b.  */
+                                                      return 1932;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0100xxxxx011xxxxxxxxxxxxx
+                                                         stnt1h.  */
+                                                      return 1936;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0010xxxxx011xxxxxxxxxxxxx
+                                                         st3b.  */
+                                                      return 1916;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0110xxxxx011xxxxxxxxxxxxx
+                                                         st3h.  */
+                                                      return 1920;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                          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 1320;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 x01001x0xx0xxxxx100xxxxxxxx1xxxx
+                                                 cmpgt.  */
+                                              return 1323;
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx110xxxxxxxx0xxxx
+                                                     cmphs.  */
+                                                  return 1329;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx110xxxxxxxx1xxxx
+                                                     cmphi.  */
+                                                  return 1326;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0000xxxxx110xxxxxxxxxxxxx
+                                                         ldnt1b.  */
+                                                      return 1715;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0100xxxxx110xxxxxxxxxxxxx
+                                                         ldnt1h.  */
+                                                      return 1719;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0010xxxxx110xxxxxxxxxxxxx
+                                                         ld3b.  */
+                                                      return 1607;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0110xxxxx110xxxxxxxxxxxxx
+                                                         ld3h.  */
+                                                      return 1611;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                  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 1384;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         011001x0xx01x00x1x0xxxxxxxxxxxxx
+                                                         faddp.  */
+                                                      return 2065;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 16) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         011001x0xx0xx1001x0xxxxxxxxxxxxx
+                                                         fmaxnmp.  */
+                                                      return 2073;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         011001x0xx0xx1011x0xxxxxxxxxxxxx
+                                                         fminnmp.  */
+                                                      return 2075;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 16) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     011001x0xx0xxx101x0xxxxxxxxxxxxx
+                                                     fmaxp.  */
+                                                  return 2074;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     011001x0xx0xxx111x0xxxxxxxxxxxxx
+                                                     fminp.  */
+                                                  return 2076;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     111001x0000xxxxx1x0xxxxxxxxxxxxx
+                                                     st1b.  */
+                                                  return 1863;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     111001x0100xxxxx1x0xxxxxxxxxxxxx
+                                                     st1h.  */
+                                                  return 1882;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     111001x0010xxxxx1x0xxxxxxxxxxxxx
+                                                     st1b.  */
+                                                  return 1867;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     111001x0110xxxxx1x0xxxxxxxxxxxxx
+                                                     st1h.  */
+                                                  return 1888;
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                              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 1317;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx101xxxxxxxx1xxxx
+                                                     cmpne.  */
+                                                  return 1340;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 20) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 22) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x00000xxxx101xxxxxxxxxxxxx
+                                                             ld1b.  */
+                                                          return 1507;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x01000xxxx101xxxxxxxxxxxxx
+                                                             ld1sw.  */
+                                                          return 1585;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x00100xxxx101xxxxxxxxxxxxx
+                                                             ld1b.  */
+                                                          return 1509;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x01100xxxx101xxxxxxxxxxxxx
+                                                             ld1h.  */
+                                                          return 1530;
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 22) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x00001xxxx101xxxxxxxxxxxxx
+                                                             ldnf1b.  */
+                                                          return 1699;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x01001xxxx101xxxxxxxxxxxxx
+                                                             ldnf1sw.  */
+                                                          return 1712;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x00101xxxx101xxxxxxxxxxxxx
+                                                             ldnf1b.  */
+                                                          return 1701;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x01101xxxx101xxxxxxxxxxxxx
+                                                             ldnf1h.  */
+                                                          return 1705;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -6028,42 +8668,64 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           if (((word >> 22) & 0x1) == 0)
                                             {
                                         {
                                           if (((word >> 22) & 0x1) == 0)
                                             {
-                                              if (((word >> 21) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 31) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         100001x0000xxxxx111xxxxxxxxxxxxx
-                                                         prfb.  */
-                                                      return 1726;
+                                                         011001x0000xxxxx101xxxxxxxxxxxxx
+                                                         fcvtxnt.  */
+                                                      return 2071;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         100001x0100xxxxx111xxxxxxxxxxxxx
-                                                         prfh.  */
-                                                      return 1740;
+                                                         111001x0000xxxxx101xxxxxxxxxxxxx
+                                                         st1b.  */
+                                                      return 1864;
                                                     }
                                                 }
                                               else
                                                 {
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 31) & 0x1) == 0)
                                                     {
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         100001x0001xxxxx111xxxxxxxxxxxxx
-                                                         ldff1b.  */
-                                                      return 1594;
+                                                      if (((word >> 16) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 17) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x0100xxx00101xxxxxxxxxxxxx
+                                                                 fcvtnt.  */
+                                                              return 2068;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x0100xxx10101xxxxxxxxxxxxx
+                                                                 bfcvtnt.  */
+                                                              return 2423;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x0100xxxx1101xxxxxxxxxxxxx
+                                                             fcvtlt.  */
+                                                          return 2066;
+                                                        }
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         100001x0101xxxxx111xxxxxxxxxxxxx
-                                                         ldff1h.  */
-                                                      return 1615;
+                                                         111001x0100xxxxx101xxxxxxxxxxxxx
+                                                         st1h.  */
+                                                      return 1883;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -6073,61 +8735,105 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     100001x001xxxxxx111xxxxxxxxxxxxx
-                                                     ld1rb.  */
-                                                  return 1496;
+                                                     x11001x0010xxxxx101xxxxxxxxxxxxx
+                                                     st1b.  */
+                                                  return 1871;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x011xxxxxx111xxxxxxxxxxxxx
-                                                     ld1rh.  */
-                                                  return 1500;
+                                                  if (((word >> 31) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 16) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x0110xxxx0101xxxxxxxxxxxxx
+                                                             fcvtnt.  */
+                                                          return 2069;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x0110xxxx1101xxxxxxxxxxxxx
+                                                             fcvtlt.  */
+                                                          return 2067;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0110xxxxx101xxxxxxxxxxxxx
+                                                         st1h.  */
+                                                      return 1892;
+                                                    }
                                                 }
                                             }
                                         }
                                     }
                                   else
                                     {
                                                 }
                                             }
                                         }
                                     }
                                   else
                                     {
-                                      if (((word >> 21) & 0x1) == 0)
+                                      if (((word >> 30) & 0x1) == 0)
                                         {
                                         {
-                                          if (((word >> 22) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 4) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x10001x0000xxxxx111xxxxxxxxxxxxx
-                                                     prfb.  */
-                                                  return 1728;
+                                                     001001x0xx0xxxxx111xxxxxxxx0xxxx
+                                                     cmplo.  */
+                                                  return 1333;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x10001x0100xxxxx111xxxxxxxxxxxxx
-                                                     prfh.  */
-                                                  return 1742;
+                                                     001001x0xx0xxxxx111xxxxxxxx1xxxx
+                                                     cmpls.  */
+                                                  return 1335;
                                                 }
                                             }
                                           else
                                             {
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x0010xxxxx111xxxxxxxxxxxxx
-                                                     ldff1b.  */
-                                                  return 1593;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0000xxxxx111xxxxxxxxxxxxx
+                                                         ldnt1b.  */
+                                                      return 1716;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0100xxxxx111xxxxxxxxxxxxx
+                                                         ldnt1h.  */
+                                                      return 1720;
+                                                    }
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x0110xxxxx111xxxxxxxxxxxxx
-                                                     ldff1h.  */
-                                                  return 1613;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0010xxxxx111xxxxxxxxxxxxx
+                                                         ld3b.  */
+                                                      return 1608;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0110xxxxx111xxxxxxxxxxxxx
+                                                         ld3h.  */
+                                                      return 1612;
+                                                    }
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -6135,40 +8841,84 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           if (((word >> 22) & 0x1) == 0)
                                             {
                                         {
                                           if (((word >> 22) & 0x1) == 0)
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 20) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x10001x0001xxxxx111xxxxxxxxxxxxx
-                                                     ldff1b.  */
-                                                  return 1595;
+                                                     x11001x0x000xxxx111xxxxxxxxxxxxx
+                                                     st1b.  */
+                                                  return 1869;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x0101xxxxx111xxxxxxxxxxxxx
-                                                     ldff1h.  */
-                                                  return 1616;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         x11001x00001xxxx111xxxxxxxxxxxxx
+                                                         stnt1b.  */
+                                                      return 1933;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         x11001x01001xxxx111xxxxxxxxxxxxx
+                                                         stnt1h.  */
+                                                      return 1937;
+                                                    }
                                                 }
                                             }
                                           else
                                             {
                                               if (((word >> 23) & 0x1) == 0)
                                                 {
                                                 }
                                             }
                                           else
                                             {
                                               if (((word >> 23) & 0x1) == 0)
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x0011xxxxx111xxxxxxxxxxxxx
-                                                     prfd.  */
-                                                  return 1732;
+                                                  if (((word >> 20) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         x11001x00100xxxx111xxxxxxxxxxxxx
+                                                         st1b.  */
+                                                      return 1872;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         x11001x00101xxxx111xxxxxxxxxxxxx
+                                                         st3b.  */
+                                                      return 1917;
+                                                    }
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x0111xxxxx111xxxxxxxxxxxxx
-                                                     ldff1h.  */
-                                                  return 1614;
+                                                  if (((word >> 31) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         011001x0110xxxxx111xxxxxxxxxxxxx
+                                                         fmmla.  */
+                                                      return 2398;
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             111001x01100xxxx111xxxxxxxxxxxxx
+                                                             st1h.  */
+                                                          return 1893;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             111001x01101xxxx111xxxxxxxxxxxxx
+                                                             st3h.  */
+                                                          return 1921;
+                                                        }
+                                                    }
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -6176,80 +8926,55 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 }
                             }
                         }
                                 }
                             }
                         }
-                    }
-                  else
-                    {
-                      if (((word >> 21) & 0x1) == 0)
+                      else
                         {
                         {
-                          if (((word >> 15) & 0x1) == 0)
+                          if (((word >> 13) & 0x1) == 0)
                             {
                               if (((word >> 30) & 0x1) == 0)
                                 {
                             {
                               if (((word >> 30) & 0x1) == 0)
                                 {
-                                  if (((word >> 13) & 0x1) == 0)
+                                  if (((word >> 31) & 0x1) == 0)
+                                    {
+                                      if (((word >> 4) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             001001x0xx1xxxxxxx0xxxxxxxx0xxxx
+                                             cmphs.  */
+                                          return 1330;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             001001x0xx1xxxxxxx0xxxxxxxx1xxxx
+                                             cmphi.  */
+                                          return 1327;
+                                        }
+                                    }
+                                  else
                                     {
                                       if (((word >> 14) & 0x1) == 0)
                                         {
                                     {
                                       if (((word >> 14) & 0x1) == 0)
                                         {
-                                          if (((word >> 31) & 0x1) == 0)
-                                            {
-                                              if (((word >> 4) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     001001x0xx0xxxxx000xxxxxxxx0xxxx
-                                                     cmphs.  */
-                                                  return 1288;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     001001x0xx0xxxxx000xxxxxxxx1xxxx
-                                                     cmphi.  */
-                                                  return 1285;
-                                                }
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 101001x00x1xxxxxx00xxxxxxxxxxxxx
+                                                 ld1rob.  */
+                                              return 2399;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     101001x00x0xxxxx000xxxxxxxxxxxxx
-                                                     ld1rqb.  */
-                                                  return 1502;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     101001x01x0xxxxx000xxxxxxxxxxxxx
-                                                     ld1rqh.  */
-                                                  return 1506;
-                                                }
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 101001x01x1xxxxxx00xxxxxxxxxxxxx
+                                                 ld1roh.  */
+                                              return 2400;
                                             }
                                         }
                                       else
                                         {
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 31) & 0x1) == 0)
-                                            {
-                                              if (((word >> 4) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     001001x0xx0xxxxx010xxxxxxxx0xxxx
-                                                     cmpge.  */
-                                                  return 1279;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     001001x0xx0xxxxx010xxxxxxxx1xxxx
-                                                     cmpgt.  */
-                                                  return 1282;
-                                                }
-                                            }
-                                          else
+                                          if (((word >> 15) & 0x1) == 0)
                                             {
                                               if (((word >> 22) & 0x1) == 0)
                                                 {
                                             {
                                               if (((word >> 22) & 0x1) == 0)
                                                 {
@@ -6257,17 +8982,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x0000xxxxx010xxxxxxxxxxxxx
+                                                         101001x0001xxxxx010xxxxxxxxxxxxx
                                                          ld1b.  */
                                                          ld1b.  */
-                                                      return 1460;
+                                                      return 1501;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x0100xxxxx010xxxxxxxxxxxxx
-                                                         ld1sw.  */
-                                                      return 1540;
+                                                         101001x0101xxxxx010xxxxxxxxxxxxx
+                                                         ld1h.  */
+                                                      return 1521;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -6276,86 +9001,20 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x0010xxxxx010xxxxxxxxxxxxx
+                                                         101001x0011xxxxx010xxxxxxxxxxxxx
                                                          ld1b.  */
                                                          ld1b.  */
-                                                      return 1462;
+                                                      return 1503;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x0110xxxxx010xxxxxxxxxxxxx
+                                                         101001x0111xxxxx010xxxxxxxxxxxxx
                                                          ld1h.  */
                                                          ld1h.  */
-                                                      return 1482;
+                                                      return 1523;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 14) & 0x1) == 0)
-                                        {
-                                          if (((word >> 31) & 0x1) == 0)
-                                            {
-                                              if (((word >> 4) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     001001x0xx0xxxxx001xxxxxxxx0xxxx
-                                                     cmpeq.  */
-                                                  return 1276;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     001001x0xx0xxxxx001xxxxxxxx1xxxx
-                                                     cmpne.  */
-                                                  return 1299;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     101001x00x0xxxxx001xxxxxxxxxxxxx
-                                                     ld1rqb.  */
-                                                  return 1501;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     101001x01x0xxxxx001xxxxxxxxxxxxx
-                                                     ld1rqh.  */
-                                                  return 1505;
-                                                }
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 31) & 0x1) == 0)
-                                            {
-                                              if (((word >> 4) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     001001x0xx0xxxxx011xxxxxxxx0xxxx
-                                                     cmplt.  */
-                                                  return 1297;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     001001x0xx0xxxxx011xxxxxxxx1xxxx
-                                                     cmple.  */
-                                                  return 1291;
-                                                }
-                                            }
                                           else
                                             {
                                               if (((word >> 22) & 0x1) == 0)
                                           else
                                             {
                                               if (((word >> 22) & 0x1) == 0)
@@ -6364,17 +9023,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x0000xxxxx011xxxxxxxxxxxxx
-                                                         ldff1b.  */
-                                                      return 1584;
+                                                         101001x0001xxxxx110xxxxxxxxxxxxx
+                                                         ld2b.  */
+                                                      return 1599;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x0100xxxxx011xxxxxxxxxxxxx
-                                                         ldff1sw.  */
-                                                      return 1640;
+                                                         101001x0101xxxxx110xxxxxxxxxxxxx
+                                                         ld2h.  */
+                                                      return 1603;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -6383,17 +9042,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x0010xxxxx011xxxxxxxxxxxxx
-                                                         ldff1b.  */
-                                                      return 1588;
+                                                         101001x0011xxxxx110xxxxxxxxxxxxx
+                                                         ld4b.  */
+                                                      return 1615;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x0110xxxxx011xxxxxxxxxxxxx
-                                                         ldff1h.  */
-                                                      return 1607;
+                                                         101001x0111xxxxx110xxxxxxxxxxxxx
+                                                         ld4h.  */
+                                                      return 1619;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -6402,174 +9061,185 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 }
                               else
                                 {
                                 }
                               else
                                 {
-                                  if (((word >> 31) & 0x1) == 0)
-                                    {
-                                      /* 33222222222211111111110000000000
-                                         10987654321098765432109876543210
-                                         011001x0xx0xxxxx0xxxxxxxxxxxxxxx
-                                         fcmla.  */
-                                      return 1345;
-                                    }
-                                  else
+                                  if (((word >> 15) & 0x1) == 0)
                                     {
                                     {
-                                      if (((word >> 13) & 0x1) == 0)
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 111001x0x00xxxxx0x0xxxxxxxxxxxxx
-                                                 st1b.  */
-                                              return 1822;
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     111001x0010xxxxx0x0xxxxxxxxxxxxx
-                                                     st1b.  */
-                                                  return 1826;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     111001x0110xxxxx0x0xxxxxxxxxxxxx
-                                                     st1h.  */
-                                                  return 1847;
-                                                }
-                                            }
-                                        }
-                                      else
+                                      if (((word >> 14) & 0x1) == 0)
                                         {
                                         {
-                                          if (((word >> 22) & 0x1) == 0)
+                                          if (((word >> 12) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 10) & 0x1) == 0)
                                                 {
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     111001x0000xxxxx0x1xxxxxxxxxxxxx
-                                                     stnt1b.  */
-                                                  return 1892;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         x11001x00x1xxxxx0000x0xxxxxxxxxx
+                                                         fmla.  */
+                                                      return 1438;
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             x11001x0101xxxxx0000x0xxxxxxxxxx
+                                                             fmla.  */
+                                                          return 1439;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             x11001x0111xxxxx0000x0xxxxxxxxxx
+                                                             fmla.  */
+                                                          return 1440;
+                                                        }
+                                                    }
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     111001x0100xxxxx0x1xxxxxxxxxxxxx
-                                                     stnt1h.  */
-                                                  return 1896;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         x11001x00x1xxxxx0000x1xxxxxxxxxx
+                                                         fmls.  */
+                                                      return 1442;
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             x11001x0101xxxxx0000x1xxxxxxxxxx
+                                                             fmls.  */
+                                                          return 1443;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             x11001x0111xxxxx0000x1xxxxxxxxxx
+                                                             fmls.  */
+                                                          return 1444;
+                                                        }
+                                                    }
                                                 }
                                             }
                                           else
                                             {
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     111001x0010xxxxx0x1xxxxxxxxxxxxx
-                                                     st3b.  */
-                                                  return 1876;
+                                                     x11001x0x01xxxxx0001xxxxxxxxxxxx
+                                                     fcmla.  */
+                                                  return 1386;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     111001x0110xxxxx0x1xxxxxxxxxxxxx
-                                                     st3h.  */
-                                                  return 1880;
+                                                     x11001x0x11xxxxx0001xxxxxxxxxxxx
+                                                     fcmla.  */
+                                                  return 1387;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
-                                    }
-                                }
-                            }
-                          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 1280;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x01001x0xx0xxxxx100xxxxxxxx1xxxx
-                                                 cmpgt.  */
-                                              return 1283;
-                                            }
-                                        }
                                       else
                                         {
                                       else
                                         {
-                                          if (((word >> 31) & 0x1) == 0)
+                                          if (((word >> 22) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 4) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     001001x0xx0xxxxx110xxxxxxxx0xxxx
-                                                     cmphs.  */
-                                                  return 1289;
+                                                     x11001x0001xxxxx010xxxxxxxxxxxxx
+                                                     st1b.  */
+                                                  return 1865;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     001001x0xx0xxxxx110xxxxxxxx1xxxx
-                                                     cmphi.  */
-                                                  return 1286;
+                                                  if (((word >> 31) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 10) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x0101xxxxx010xx0xxxxxxxxxx
+                                                             fmlalb.  */
+                                                          return 2077;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x0101xxxxx010xx1xxxxxxxxxx
+                                                             fmlalt.  */
+                                                          return 2079;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0101xxxxx010xxxxxxxxxxxxx
+                                                         st1h.  */
+                                                      return 1884;
+                                                    }
                                                 }
                                             }
                                           else
                                             {
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 31) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x0000xxxxx110xxxxxxxxxxxxx
-                                                         ldnt1b.  */
-                                                      return 1675;
+                                                         011001x0011xxxxx010xxxxxxxxxxxxx
+                                                         bfdot.  */
+                                                      return 2420;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x0100xxxxx110xxxxxxxxxxxxx
-                                                         ldnt1h.  */
-                                                      return 1679;
+                                                         111001x0011xxxxx010xxxxxxxxxxxxx
+                                                         st1b.  */
+                                                      return 1868;
                                                     }
                                                 }
                                               else
                                                 {
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 31) & 0x1) == 0)
                                                     {
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x0010xxxxx110xxxxxxxxxxxxx
-                                                         ld3b.  */
-                                                      return 1567;
+                                                      if (((word >> 10) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x0111xxxxx010xx0xxxxxxxxxx
+                                                             bfmlalb.  */
+                                                          return 2427;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x0111xxxxx010xx1xxxxxxxxxx
+                                                             bfmlalt.  */
+                                                          return 2426;
+                                                        }
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x0110xxxxx110xxxxxxxxxxxxx
-                                                         ld3h.  */
-                                                      return 1571;
+                                                         111001x0111xxxxx010xxxxxxxxxxxxx
+                                                         st1h.  */
+                                                      return 1889;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -6577,80 +9247,124 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
-                                      if (((word >> 31) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             011001x0xx0xxxxx1x0xxxxxxxxxxxxx
-                                             fcadd.  */
-                                          return 1344;
-                                        }
-                                      else
+                                      if (((word >> 22) & 0x1) == 0)
                                         {
                                         {
-                                          if (((word >> 22) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 10) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     111001x0000xxxxx1x0xxxxxxxxxxxxx
-                                                     st1b.  */
-                                                  return 1823;
+                                                     011001x0x01xxxxx1x0xx0xxxxxxxxxx
+                                                     fmlalb.  */
+                                                  return 2078;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     111001x0100xxxxx1x0xxxxxxxxxxxxx
-                                                     st1h.  */
-                                                  return 1842;
+                                                     011001x0x01xxxxx1x0xx1xxxxxxxxxx
+                                                     fmlalt.  */
+                                                  return 2080;
                                                 }
                                             }
                                           else
                                             {
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 111001x0x01xxxxx1x0xxxxxxxxxxxxx
+                                                 st1h.  */
+                                              return 1885;
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 x11001x0011xxxxx1x0xxxxxxxxxxxxx
+                                                 bfdot.  */
+                                              return 2419;
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 31) & 0x1) == 0)
                                                 {
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     111001x0010xxxxx1x0xxxxxxxxxxxxx
-                                                     st1b.  */
-                                                  return 1827;
+                                                  if (((word >> 10) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         011001x0111xxxxx1x0xx0xxxxxxxxxx
+                                                         bfmlalb.  */
+                                                      return 2425;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         011001x0111xxxxx1x0xx1xxxxxxxxxx
+                                                         bfmlalt.  */
+                                                      return 2424;
+                                                    }
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     111001x0110xxxxx1x0xxxxxxxxxxxxx
+                                                     111001x0111xxxxx1x0xxxxxxxxxxxxx
                                                      st1h.  */
                                                      st1h.  */
-                                                  return 1848;
+                                                  return 1890;
                                                 }
                                             }
                                         }
                                     }
                                 }
                                                 }
                                             }
                                         }
                                     }
                                 }
-                              else
+                            }
+                          else
+                            {
+                              if (((word >> 30) & 0x1) == 0)
                                 {
                                 {
-                                  if (((word >> 14) & 0x1) == 0)
+                                  if (((word >> 31) & 0x1) == 0)
                                     {
                                     {
-                                      if (((word >> 30) & 0x1) == 0)
+                                      if (((word >> 4) & 0x1) == 0)
                                         {
                                         {
-                                          if (((word >> 31) & 0x1) == 0)
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             001001x0xx1xxxxxxx1xxxxxxxx0xxxx
+                                             cmplo.  */
+                                          return 1334;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             001001x0xx1xxxxxxx1xxxxxxxx1xxxx
+                                             cmpls.  */
+                                          return 1336;
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 14) & 0x1) == 0)
+                                        {
+                                          if (((word >> 15) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 4) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     001001x0xx0xxxxx101xxxxxxxx0xxxx
-                                                     cmpeq.  */
-                                                  return 1277;
+                                                     101001x00x1xxxxx001xxxxxxxxxxxxx
+                                                     ld1rob.  */
+                                                  return 2403;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     001001x0xx0xxxxx101xxxxxxxx1xxxx
-                                                     cmpne.  */
-                                                  return 1300;
+                                                     101001x01x1xxxxx001xxxxxxxxxxxxx
+                                                     ld1roh.  */
+                                                  return 2404;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -6663,17 +9377,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             101001x00000xxxx101xxxxxxxxxxxxx
+                                                             101001x00010xxxx101xxxxxxxxxxxxx
                                                              ld1b.  */
                                                              ld1b.  */
-                                                          return 1467;
+                                                          return 1508;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             101001x01000xxxx101xxxxxxxxxxxxx
-                                                             ld1sw.  */
-                                                          return 1545;
+                                                             101001x01010xxxx101xxxxxxxxxxxxx
+                                                             ld1h.  */
+                                                          return 1529;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -6682,17 +9396,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             101001x00100xxxx101xxxxxxxxxxxxx
+                                                             101001x00110xxxx101xxxxxxxxxxxxx
                                                              ld1b.  */
                                                              ld1b.  */
-                                                          return 1469;
+                                                          return 1510;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             101001x01100xxxx101xxxxxxxxxxxxx
+                                                             101001x01110xxxx101xxxxxxxxxxxxx
                                                              ld1h.  */
                                                              ld1h.  */
-                                                          return 1490;
+                                                          return 1531;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -6704,17 +9418,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             101001x00001xxxx101xxxxxxxxxxxxx
+                                                             101001x00011xxxx101xxxxxxxxxxxxx
                                                              ldnf1b.  */
                                                              ldnf1b.  */
-                                                          return 1659;
+                                                          return 1700;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             101001x01001xxxx101xxxxxxxxxxxxx
-                                                             ldnf1sw.  */
-                                                          return 1672;
+                                                             101001x01011xxxx101xxxxxxxxxxxxx
+                                                             ldnf1h.  */
+                                                          return 1704;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -6723,41 +9437,173 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             101001x00101xxxx101xxxxxxxxxxxxx
+                                                             101001x00111xxxx101xxxxxxxxxxxxx
                                                              ldnf1b.  */
                                                              ldnf1b.  */
-                                                          return 1661;
+                                                          return 1702;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             101001x01101xxxx101xxxxxxxxxxxxx
+                                                             101001x01111xxxx101xxxxxxxxxxxxx
                                                              ldnf1h.  */
                                                              ldnf1h.  */
-                                                          return 1665;
+                                                          return 1706;
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                                         }
                                                     }
                                                 }
                                             }
                                         }
+                                      else
+                                        {
+                                          if (((word >> 15) & 0x1) == 0)
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0001xxxxx011xxxxxxxxxxxxx
+                                                         ldff1b.  */
+                                                      return 1626;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0101xxxxx011xxxxxxxxxxxxx
+                                                         ldff1h.  */
+                                                      return 1645;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0011xxxxx011xxxxxxxxxxxxx
+                                                         ldff1b.  */
+                                                      return 1630;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0111xxxxx011xxxxxxxxxxxxx
+                                                         ldff1h.  */
+                                                      return 1649;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0001xxxxx111xxxxxxxxxxxxx
+                                                         ld2b.  */
+                                                      return 1600;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0101xxxxx111xxxxxxxxxxxxx
+                                                         ld2h.  */
+                                                      return 1604;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0011xxxxx111xxxxxxxxxxxxx
+                                                         ld4b.  */
+                                                      return 1616;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0111xxxxx111xxxxxxxxxxxxx
+                                                         ld4h.  */
+                                                      return 1620;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                              else
+                                {
+                                  if (((word >> 14) & 0x1) == 0)
+                                    {
+                                      if (((word >> 15) & 0x1) == 0)
+                                        {
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 x11001x00x1xxxxx001xxxxxxxxxxxxx
+                                                 fmul.  */
+                                              return 1449;
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x11001x0101xxxxx001xxxxxxxxxxxxx
+                                                     fmul.  */
+                                                  return 1450;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x11001x0111xxxxx001xxxxxxxxxxxxx
+                                                     fmul.  */
+                                                  return 1451;
+                                                }
+                                            }
+                                        }
                                       else
                                         {
                                           if (((word >> 22) & 0x1) == 0)
                                             {
                                       else
                                         {
                                           if (((word >> 22) & 0x1) == 0)
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 31) & 0x1) == 0)
                                                 {
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x11001x0000xxxxx101xxxxxxxxxxxxx
-                                                     st1b.  */
-                                                  return 1824;
+                                                  if (((word >> 10) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         011001x0x01xxxxx101xx0xxxxxxxxxx
+                                                         fmlslb.  */
+                                                      return 2082;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         011001x0x01xxxxx101xx1xxxxxxxxxx
+                                                         fmlslt.  */
+                                                      return 2084;
+                                                    }
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x11001x0100xxxxx101xxxxxxxxxxxxx
+                                                     111001x0x01xxxxx101xxxxxxxxxxxxx
                                                      st1h.  */
                                                      st1h.  */
-                                                  return 1843;
+                                                  return 1886;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -6766,156 +9612,189 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x11001x0010xxxxx101xxxxxxxxxxxxx
+                                                     x11001x0011xxxxx101xxxxxxxxxxxxx
                                                      st1b.  */
                                                      st1b.  */
-                                                  return 1831;
+                                                  return 1873;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x11001x0110xxxxx101xxxxxxxxxxxxx
+                                                     x11001x0111xxxxx101xxxxxxxxxxxxx
                                                      st1h.  */
                                                      st1h.  */
-                                                  return 1852;
+                                                  return 1894;
                                                 }
                                             }
                                         }
                                     }
                                   else
                                     {
                                                 }
                                             }
                                         }
                                     }
                                   else
                                     {
-                                      if (((word >> 30) & 0x1) == 0)
+                                      if (((word >> 15) & 0x1) == 0)
                                         {
                                         {
-                                          if (((word >> 31) & 0x1) == 0)
+                                          if (((word >> 22) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 4) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     001001x0xx0xxxxx111xxxxxxxx0xxxx
-                                                     cmplo.  */
-                                                  return 1293;
+                                                     x11001x0001xxxxx011xxxxxxxxxxxxx
+                                                     st2b.  */
+                                                  return 1908;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     001001x0xx0xxxxx111xxxxxxxx1xxxx
-                                                     cmpls.  */
-                                                  return 1295;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 22) & 0x1) == 0)
-                                                {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 31) & 0x1) == 0)
                                                     {
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x0000xxxxx111xxxxxxxxxxxxx
-                                                         ldnt1b.  */
-                                                      return 1676;
+                                                      if (((word >> 10) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x0101xxxxx011xx0xxxxxxxxxx
+                                                             fmlslb.  */
+                                                          return 2081;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x0101xxxxx011xx1xxxxxxxxxx
+                                                             fmlslt.  */
+                                                          return 2083;
+                                                        }
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x0100xxxxx111xxxxxxxxxxxxx
-                                                         ldnt1h.  */
-                                                      return 1680;
+                                                         111001x0101xxxxx011xxxxxxxxxxxxx
+                                                         st2h.  */
+                                                      return 1912;
                                                     }
                                                 }
                                                     }
                                                 }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x11001x0011xxxxx011xxxxxxxxxxxxx
+                                                     st4b.  */
+                                                  return 1924;
+                                                }
                                               else
                                                 {
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x11001x0111xxxxx011xxxxxxxxxxxxx
+                                                     st4h.  */
+                                                  return 1928;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 20) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x0010xxxxx111xxxxxxxxxxxxx
-                                                         ld3b.  */
-                                                      return 1568;
+                                                         x11001x00010xxxx111xxxxxxxxxxxxx
+                                                         st1b.  */
+                                                      return 1870;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x0110xxxxx111xxxxxxxxxxxxx
-                                                         ld3h.  */
-                                                      return 1572;
+                                                         x11001x00011xxxx111xxxxxxxxxxxxx
+                                                         st2b.  */
+                                                      return 1909;
                                                     }
                                                 }
                                                     }
                                                 }
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 20) & 0x1) == 0)
-                                            {
-                                              if (((word >> 22) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x11001x0x000xxxx111xxxxxxxxxxxxx
-                                                     st1b.  */
-                                                  return 1829;
-                                                }
                                               else
                                                 {
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 31) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         x11001x00100xxxx111xxxxxxxxxxxxx
-                                                         st1b.  */
-                                                      return 1832;
+                                                         011001x0101xxxxx111xxxxxxxxxxxxx
+                                                         fmmla.  */
+                                                      return 2397;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x11001x01100xxxx111xxxxxxxxxxxxx
-                                                         st1h.  */
-                                                      return 1853;
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             111001x01010xxxx111xxxxxxxxxxxxx
+                                                             st1h.  */
+                                                          return 1891;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             111001x01011xxxx111xxxxxxxxxxxxx
+                                                             st2h.  */
+                                                          return 1913;
+                                                        }
                                                     }
                                                 }
                                             }
                                           else
                                             {
                                                     }
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 31) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         x11001x00001xxxx111xxxxxxxxxxxxx
-                                                         stnt1b.  */
-                                                      return 1893;
+                                                         011001x0011xxxxx111xxxxxxxxxxxxx
+                                                         bfmmla.  */
+                                                      return 2421;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x11001x01001xxxx111xxxxxxxxxxxxx
-                                                         stnt1h.  */
-                                                      return 1897;
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             111001x00110xxxx111xxxxxxxxxxxxx
+                                                             st1b.  */
+                                                          return 1874;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             111001x00111xxxx111xxxxxxxxxxxxx
+                                                             st4b.  */
+                                                          return 1925;
+                                                        }
                                                     }
                                                 }
                                               else
                                                 {
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 20) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         x11001x00101xxxx111xxxxxxxxxxxxx
-                                                         st3b.  */
-                                                      return 1877;
+                                                         x11001x01110xxxx111xxxxxxxxxxxxx
+                                                         st1h.  */
+                                                      return 1895;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         x11001x01101xxxx111xxxxxxxxxxxxx
-                                                         st3h.  */
-                                                      return 1881;
+                                                         x11001x01111xxxx111xxxxxxxxxxxxx
+                                                         st4h.  */
+                                                      return 1929;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -6924,461 +9803,819 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 }
                             }
                         }
                                 }
                             }
                         }
-                      else
+                    }
+                }
+              else
+                {
+                  if (((word >> 29) & 0x1) == 0)
+                    {
+                      if (((word >> 30) & 0x1) == 0)
                         {
                         {
-                          if (((word >> 13) & 0x1) == 0)
+                          if (((word >> 31) & 0x1) == 0)
                             {
                             {
-                              if (((word >> 30) & 0x1) == 0)
+                              if (((word >> 21) & 0x1) == 0)
                                 {
                                 {
-                                  if (((word >> 31) & 0x1) == 0)
+                                  if (((word >> 20) & 0x1) == 0)
                                     {
                                     {
-                                      if (((word >> 4) & 0x1) == 0)
+                                      if (((word >> 22) & 0x1) == 0)
+                                        {
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 000001x10000xxxxxxxxxxxxxxxxxxxx
+                                                 orr.  */
+                                              return 1754;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 000001x11000xxxxxxxxxxxxxxxxxxxx
+                                                 and.  */
+                                              return 1282;
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 000001x10100xxxxxxxxxxxxxxxxxxxx
+                                                 eor.  */
+                                              return 1369;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 000001x11100xxxxxxxxxxxxxxxxxxxx
+                                                 dupm.  */
+                                              return 1367;
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 15) & 0x1) == 0)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             001001x0xx1xxxxxxx0xxxxxxxx0xxxx
-                                             cmphs.  */
-                                          return 1290;
+                                             000001x1xx01xxxx0xxxxxxxxxxxxxxx
+                                             cpy.  */
+                                          return 1352;
                                         }
                                       else
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
                                         }
                                       else
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             001001x0xx1xxxxxxx0xxxxxxxx1xxxx
-                                             cmphi.  */
-                                          return 1287;
+                                             000001x1xx01xxxx1xxxxxxxxxxxxxxx
+                                             fcpy.  */
+                                          return 1399;
                                         }
                                     }
                                         }
                                     }
-                                  else
+                                }
+                              else
+                                {
+                                  if (((word >> 14) & 0x1) == 0)
                                     {
                                     {
-                                      if (((word >> 15) & 0x1) == 0)
+                                      if (((word >> 13) & 0x1) == 0)
                                         {
                                         {
-                                          if (((word >> 22) & 0x1) == 0)
+                                          if (((word >> 15) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     101001x0001xxxxx0x0xxxxxxxxxxxxx
-                                                     ld1b.  */
-                                                  return 1461;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         000001x1001xxxxx000xxxxxxxxxxxxx
+                                                         ext.  */
+                                                      return 1374;
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 10) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 11) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x1101xxxxx000x00xxxxxxxxxx
+                                                                 zip1.  */
+                                                              return 2407;
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 12) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x1101xxxxx000010xxxxxxxxxx
+                                                                     uzip1.  */
+                                                                  return 2409;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x1101xxxxx000110xxxxxxxxxx
+                                                                     trn1.  */
+                                                                  return 2411;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 11) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x1101xxxxx000x01xxxxxxxxxx
+                                                                 zip2.  */
+                                                              return 2408;
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 12) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x1101xxxxx000011xxxxxxxxxx
+                                                                     uzip2.  */
+                                                                  return 2410;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x1101xxxxx000111xxxxxxxxxx
+                                                                     trn2.  */
+                                                                  return 2412;
+                                                                }
+                                                            }
+                                                        }
+                                                    }
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     101001x0101xxxxx0x0xxxxxxxxxxxxx
-                                                     ld1h.  */
-                                                  return 1481;
+                                                     000001x1x11xxxxx000xxxxxxxxxxxxx
+                                                     ext.  */
+                                                  return 2064;
                                                 }
                                             }
                                           else
                                             {
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 16) & 0x1) == 0)
                                                 {
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     101001x0011xxxxx0x0xxxxxxxxxxxxx
-                                                     ld1b.  */
-                                                  return 1463;
+                                                  if (((word >> 17) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 18) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x1xx1x0000100xxxxxxxxxxxxx
+                                                                 cpy.  */
+                                                              return 1350;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x1xx1x1000100xxxxxxxxxxxxx
+                                                                 clasta.  */
+                                                              return 1308;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x1xx1x0100100xxxxxxxxxxxxx
+                                                                 revb.  */
+                                                              return 1802;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x1xx1x1100100xxxxxxxxxxxxx
+                                                                 splice.  */
+                                                              return 1829;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 18) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x1xx1x0010100xxxxxxxxxxxxx
+                                                                 lasta.  */
+                                                              return 1496;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x1xx1x1010100xxxxxxxxxxxxx
+                                                                 clasta.  */
+                                                              return 1309;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x1xx1xx110100xxxxxxxxxxxxx
+                                                             revw.  */
+                                                          return 1804;
+                                                        }
+                                                    }
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     101001x0111xxxxx0x0xxxxxxxxxxxxx
-                                                     ld1h.  */
-                                                  return 1483;
+                                                  if (((word >> 17) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 18) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x1xx1x0001100xxxxxxxxxxxxx
+                                                                 compact.  */
+                                                              return 1349;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x1xx1x1001100xxxxxxxxxxxxx
+                                                                 clastb.  */
+                                                              return 1311;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x1xx1x0101100xxxxxxxxxxxxx
+                                                                 revh.  */
+                                                              return 1803;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x1xx1x1101100xxxxxxxxxxxxx
+                                                                 splice.  */
+                                                              return 2159;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 18) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x1xx1x0011100xxxxxxxxxxxxx
+                                                                 lastb.  */
+                                                              return 1498;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x1xx1x1011100xxxxxxxxxxxxx
+                                                                 clastb.  */
+                                                              return 1312;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x1xx1xx111100xxxxxxxxxxxxx
+                                                             rbit.  */
+                                                          return 1795;
+                                                        }
+                                                    }
                                                 }
                                             }
                                         }
                                       else
                                         {
                                                 }
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 22) & 0x1) == 0)
+                                          if (((word >> 15) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 10) & 0x1) == 0)
                                                 {
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     101001x0001xxxxx1x0xxxxxxxxxxxxx
-                                                     ld2b.  */
-                                                  return 1559;
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x1xx1xxxxx001000xxxxxxxxxx
+                                                             dup.  */
+                                                          return 1365;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x1xx1xxxxx001100xxxxxxxxxx
+                                                             tbl.  */
+                                                          return 1952;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x1xx1xxxxx001010xxxxxxxxxx
+                                                             tbl.  */
+                                                          return 2248;
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 16) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 17) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 18) & 0x1) == 0)
+                                                                    {
+                                                                      if (((word >> 19) & 0x1) == 0)
+                                                                        {
+                                                                          if (((word >> 20) & 0x1) == 0)
+                                                                            {
+                                                                              /* 33222222222211111111110000000000
+                                                                                 10987654321098765432109876543210
+                                                                                 000001x1xx100000001110xxxxxxxxxx
+                                                                                 dup.  */
+                                                                              return 1364;
+                                                                            }
+                                                                          else
+                                                                            {
+                                                                              /* 33222222222211111111110000000000
+                                                                                 10987654321098765432109876543210
+                                                                                 000001x1xx110000001110xxxxxxxxxx
+                                                                                 sunpklo.  */
+                                                                              return 1948;
+                                                                            }
+                                                                        }
+                                                                      else
+                                                                        {
+                                                                          /* 33222222222211111111110000000000
+                                                                             10987654321098765432109876543210
+                                                                             000001x1xx1x1000001110xxxxxxxxxx
+                                                                             rev.  */
+                                                                          return 1801;
+                                                                        }
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      if (((word >> 20) & 0x1) == 0)
+                                                                        {
+                                                                          /* 33222222222211111111110000000000
+                                                                             10987654321098765432109876543210
+                                                                             000001x1xx10x100001110xxxxxxxxxx
+                                                                             insr.  */
+                                                                          return 1493;
+                                                                        }
+                                                                      else
+                                                                        {
+                                                                          /* 33222222222211111111110000000000
+                                                                             10987654321098765432109876543210
+                                                                             000001x1xx11x100001110xxxxxxxxxx
+                                                                             insr.  */
+                                                                          return 1494;
+                                                                        }
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x1xx1xxx10001110xxxxxxxxxx
+                                                                     uunpklo.  */
+                                                                  return 2011;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 17) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x1xx1xxx01001110xxxxxxxxxx
+                                                                     sunpkhi.  */
+                                                                  return 1947;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x1xx1xxx11001110xxxxxxxxxx
+                                                                     uunpkhi.  */
+                                                                  return 2010;
+                                                                }
+                                                            }
+                                                        }
+                                                    }
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     101001x0101xxxxx1x0xxxxxxxxxxxxx
-                                                     ld2h.  */
-                                                  return 1563;
+                                                     000001x1xx1xxxxx001xx1xxxxxxxxxx
+                                                     tbx.  */
+                                                  return 2249;
                                                 }
                                             }
                                           else
                                             {
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 16) & 0x1) == 0)
                                                 {
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     101001x0011xxxxx1x0xxxxxxxxxxxxx
-                                                     ld4b.  */
-                                                  return 1575;
+                                                  if (((word >> 19) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x1xx100xx0101xxxxxxxxxxxxx
+                                                             lasta.  */
+                                                          return 1495;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x1xx110xx0101xxxxxxxxxxxxx
+                                                             clasta.  */
+                                                          return 1310;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         000001x1xx1x1xx0101xxxxxxxxxxxxx
+                                                         cpy.  */
+                                                      return 1351;
+                                                    }
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     101001x0111xxxxx1x0xxxxxxxxxxxxx
-                                                     ld4h.  */
-                                                  return 1579;
+                                                  if (((word >> 20) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         000001x1xx10xxx1101xxxxxxxxxxxxx
+                                                         lastb.  */
+                                                      return 1497;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         000001x1xx11xxx1101xxxxxxxxxxxxx
+                                                         clastb.  */
+                                                      return 1313;
+                                                    }
                                                 }
                                             }
                                         }
                                     }
                                                 }
                                             }
                                         }
                                     }
-                                }
-                              else
-                                {
-                                  if (((word >> 15) & 0x1) == 0)
+                                  else
                                     {
                                     {
-                                      if (((word >> 14) & 0x1) == 0)
+                                      if (((word >> 15) & 0x1) == 0)
                                         {
                                         {
-                                          if (((word >> 12) & 0x1) == 0)
+                                          if (((word >> 10) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 10) & 0x1) == 0)
+                                              if (((word >> 11) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 12) & 0x1) == 0)
                                                     {
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x11001x00x1xxxxx0000x0xxxxxxxxxx
-                                                         fmla.  */
-                                                      return 1398;
+                                                      if (((word >> 13) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x1xx10xxxx010000xxxxxxxxxx
+                                                                 zip1.  */
+                                                              return 2028;
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 16) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 18) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x1xx11x0x0010000xxxxxxxxxx
+                                                                         punpklo.  */
+                                                                      return 1794;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000001x1xx11x1x0010000xxxxxxxxxx
+                                                                         rev.  */
+                                                                      return 1800;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x1xx11xxx1010000xxxxxxxxxx
+                                                                     punpkhi.  */
+                                                                  return 1793;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x1xx1xxxxx011000xxxxxxxxxx
+                                                             zip1.  */
+                                                          return 2029;
+                                                        }
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 22) & 0x1) == 0)
+                                                      if (((word >> 13) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             x11001x0101xxxxx0000x0xxxxxxxxxx
-                                                             fmla.  */
-                                                          return 1399;
+                                                             000001x1xx1xxxxx010100xxxxxxxxxx
+                                                             trn1.  */
+                                                          return 1953;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             x11001x0111xxxxx0000x0xxxxxxxxxx
-                                                             fmla.  */
-                                                          return 1400;
+                                                             000001x1xx1xxxxx011100xxxxxxxxxx
+                                                             trn1.  */
+                                                          return 1954;
                                                         }
                                                     }
                                                 }
                                               else
                                                 {
                                                         }
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 13) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         x11001x00x1xxxxx0000x1xxxxxxxxxx
-                                                         fmls.  */
-                                                      return 1402;
+                                                         000001x1xx1xxxxx010x10xxxxxxxxxx
+                                                         uzp1.  */
+                                                      return 2015;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 22) & 0x1) == 0)
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         000001x1xx1xxxxx011x10xxxxxxxxxx
+                                                         uzp1.  */
+                                                      return 2016;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 11) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 12) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 13) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             x11001x0101xxxxx0000x1xxxxxxxxxx
-                                                             fmls.  */
-                                                          return 1403;
+                                                             000001x1xx1xxxxx010001xxxxxxxxxx
+                                                             zip2.  */
+                                                          return 2030;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             x11001x0111xxxxx0000x1xxxxxxxxxx
-                                                             fmls.  */
-                                                          return 1404;
+                                                             000001x1xx1xxxxx011001xxxxxxxxxx
+                                                             zip2.  */
+                                                          return 2031;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 13) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x1xx1xxxxx010101xxxxxxxxxx
+                                                             trn2.  */
+                                                          return 1955;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x1xx1xxxxx011101xxxxxxxxxx
+                                                             trn2.  */
+                                                          return 1956;
                                                         }
                                                     }
                                                         }
                                                     }
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 22) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x11001x0x01xxxxx0001xxxxxxxxxxxx
-                                                     fcmla.  */
-                                                  return 1346;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x11001x0x11xxxxx0001xxxxxxxxxxxx
-                                                     fcmla.  */
-                                                  return 1347;
-                                                }
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x11001x0001xxxxx010xxxxxxxxxxxxx
-                                                     st1b.  */
-                                                  return 1825;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x11001x0101xxxxx010xxxxxxxxxxxxx
-                                                     st1h.  */
-                                                  return 1844;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x11001x0011xxxxx010xxxxxxxxxxxxx
-                                                     st1b.  */
-                                                  return 1828;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x11001x0111xxxxx010xxxxxxxxxxxxx
-                                                     st1h.  */
-                                                  return 1849;
+                                                  if (((word >> 13) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         000001x1xx1xxxxx010x11xxxxxxxxxx
+                                                         uzp2.  */
+                                                      return 2017;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         000001x1xx1xxxxx011x11xxxxxxxxxx
+                                                         uzp2.  */
+                                                      return 2018;
+                                                    }
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 22) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             x11001x0x01xxxxx1x0xxxxxxxxxxxxx
-                                             st1h.  */
-                                          return 1845;
-                                        }
                                       else
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
                                       else
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             x11001x0x11xxxxx1x0xxxxxxxxxxxxx
-                                             st1h.  */
-                                          return 1850;
+                                             000001x1xx1xxxxx11xxxxxxxxxxxxxx
+                                             sel.  */
+                                          return 1819;
                                         }
                                     }
                                 }
                             }
                           else
                             {
                                         }
                                     }
                                 }
                             }
                           else
                             {
-                              if (((word >> 30) & 0x1) == 0)
+                              if (((word >> 13) & 0x1) == 0)
                                 {
                                 {
-                                  if (((word >> 31) & 0x1) == 0)
+                                  if (((word >> 14) & 0x1) == 0)
                                     {
                                     {
-                                      if (((word >> 4) & 0x1) == 0)
+                                      if (((word >> 15) & 0x1) == 0)
                                         {
                                         {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             001001x0xx1xxxxxxx1xxxxxxxx0xxxx
-                                             cmplo.  */
-                                          return 1294;
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 100001x1x0xxxxxx000xxxxxxxxxxxxx
+                                                 ldr.  */
+                                              return 1723;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 100001x1x1xxxxxx000xxxxxxxxxxxxx
+                                                 prfb.  */
+                                              return 1767;
+                                            }
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             001001x0xx1xxxxxxx1xxxxxxxx1xxxx
-                                             cmpls.  */
-                                          return 1296;
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 100001x10xxxxxxx100xxxxxxxxxxxxx
+                                                 ld1rsh.  */
+                                              return 1552;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 100001x11xxxxxxx100xxxxxxxxxxxxx
+                                                 ld1rsb.  */
+                                              return 1549;
+                                            }
                                         }
                                     }
                                   else
                                     {
                                         }
                                     }
                                   else
                                     {
-                                      if (((word >> 14) & 0x1) == 0)
+                                      if (((word >> 15) & 0x1) == 0)
                                         {
                                         {
-                                          if (((word >> 20) & 0x1) == 0)
+                                          if (((word >> 23) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 21) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x00010xxxxx01xxxxxxxxxxxxx
-                                                         ld1b.  */
-                                                      return 1468;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x01010xxxxx01xxxxxxxxxxxxx
-                                                         ld1h.  */
-                                                      return 1489;
-                                                    }
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x10x0xxxxx010xxxxxxxxxxxxx
+                                                     ld1w.  */
+                                                  return 1587;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x00110xxxxx01xxxxxxxxxxxxx
-                                                         ld1b.  */
-                                                      return 1470;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x01110xxxxx01xxxxxxxxxxxxx
-                                                         ld1h.  */
-                                                      return 1491;
-                                                    }
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x10x1xxxxx010xxxxxxxxxxxxx
+                                                     ld1w.  */
+                                                  return 1588;
                                                 }
                                             }
                                           else
                                             {
                                               if (((word >> 22) & 0x1) == 0)
                                                 {
                                                 }
                                             }
                                           else
                                             {
                                               if (((word >> 22) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x00011xxxxx01xxxxxxxxxxxxx
-                                                         ldnf1b.  */
-                                                      return 1660;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x01011xxxxx01xxxxxxxxxxxxx
-                                                         ldnf1h.  */
-                                                      return 1664;
-                                                    }
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x110xxxxxx010xxxxxxxxxxxxx
+                                                     ldr.  */
+                                                  return 1724;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x00111xxxxx01xxxxxxxxxxxxx
-                                                         ldnf1b.  */
-                                                      return 1662;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x01111xxxxx01xxxxxxxxxxxxx
-                                                         ldnf1h.  */
-                                                      return 1666;
-                                                    }
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x111xxxxxx010xxxxxxxxxxxxx
+                                                     prfw.  */
+                                                  return 1788;
                                                 }
                                             }
                                         }
                                       else
                                         {
                                                 }
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 15) & 0x1) == 0)
+                                          if (((word >> 22) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 21) & 0x1) == 0)
                                                 {
                                                   if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                 {
                                                   if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x0001xxxxx011xxxxxxxxxxxxx
-                                                         ldff1b.  */
-                                                      return 1586;
+                                                         100001x1000xxxxx110xxxxxxxxxxxxx
+                                                         prfw.  */
+                                                      return 1784;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x0101xxxxx011xxxxxxxxxxxxx
-                                                         ldff1h.  */
-                                                      return 1605;
+                                                         100001x1100xxxxx110xxxxxxxxxxxxx
+                                                         prfd.  */
+                                                      return 1770;
                                                     }
                                                 }
                                               else
                                                 {
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x0011xxxxx011xxxxxxxxxxxxx
-                                                         ldff1b.  */
-                                                      return 1590;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x0111xxxxx011xxxxxxxxxxxxx
-                                                         ldff1h.  */
-                                                      return 1609;
-                                                    }
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x1x01xxxxx110xxxxxxxxxxxxx
+                                                     ld1w.  */
+                                                  return 1595;
                                                 }
                                             }
                                           else
                                             {
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x0001xxxxx111xxxxxxxxxxxxx
-                                                         ld2b.  */
-                                                      return 1560;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x0101xxxxx111xxxxxxxxxxxxx
-                                                         ld2h.  */
-                                                      return 1564;
-                                                    }
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x101xxxxxx110xxxxxxxxxxxxx
+                                                     ld1rw.  */
+                                                  return 1555;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x0011xxxxx111xxxxxxxxxxxxx
-                                                         ld4b.  */
-                                                      return 1576;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x0111xxxxx111xxxxxxxxxxxxx
-                                                         ld4h.  */
-                                                      return 1580;
-                                                    }
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x111xxxxxx110xxxxxxxxxxxxx
+                                                     ld1rsb.  */
+                                                  return 1551;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -7390,43 +10627,106 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       if (((word >> 15) & 0x1) == 0)
                                         {
                                     {
                                       if (((word >> 15) & 0x1) == 0)
                                         {
-                                          if (((word >> 23) & 0x1) == 0)
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             100001x1xxxxxxxx001xxxxxxxxxxxxx
+                                             prfh.  */
+                                          return 1781;
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 x11001x00x1xxxxx001xxxxxxxxxxxxx
-                                                 fmul.  */
-                                              return 1409;
+                                                 100001x1x0xxxxxx101xxxxxxxxxxxxx
+                                                 ldnt1w.  */
+                                              return 2095;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x11001x0101xxxxx001xxxxxxxxxxxxx
-                                                     fmul.  */
-                                                  return 1410;
+                                                     100001x101xxxxxx101xxxxxxxxxxxxx
+                                                     ld1rsh.  */
+                                                  return 1553;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x11001x0111xxxxx001xxxxxxxxxxxxx
-                                                     fmul.  */
-                                                  return 1411;
+                                                     100001x111xxxxxx101xxxxxxxxxxxxx
+                                                     ld1rsb.  */
+                                                  return 1550;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
-                                      else
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 15) & 0x1) == 0)
                                         {
                                         {
-                                          if (((word >> 22) & 0x1) == 0)
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              if (((word >> 21) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x10x0xxxxx011xxxxxxxxxxxxx
+                                                     ldff1w.  */
+                                                  return 1687;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x10x1xxxxx011xxxxxxxxxxxxx
+                                                     ldff1w.  */
+                                                  return 1688;
+                                                }
+                                            }
+                                          else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 x11001x0x01xxxxx101xxxxxxxxxxxxx
-                                                 st1h.  */
-                                              return 1846;
+                                                 100001x11xxxxxxx011xxxxxxxxxxxxx
+                                                 prfd.  */
+                                              return 1774;
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 21) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x1000xxxxx111xxxxxxxxxxxxx
+                                                         prfw.  */
+                                                      return 1787;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x1100xxxxx111xxxxxxxxxxxxx
+                                                         prfd.  */
+                                                      return 1773;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x1x01xxxxx111xxxxxxxxxxxxx
+                                                     ldff1w.  */
+                                                  return 1697;
+                                                }
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -7434,984 +10734,783 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x11001x0011xxxxx101xxxxxxxxxxxxx
-                                                     st1b.  */
-                                                  return 1833;
+                                                     100001x101xxxxxx111xxxxxxxxxxxxx
+                                                     ld1rw.  */
+                                                  return 1556;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x11001x0111xxxxx101xxxxxxxxxxxxx
-                                                     st1h.  */
-                                                  return 1854;
+                                                     100001x111xxxxxx111xxxxxxxxxxxxx
+                                                     ld1rd.  */
+                                                  return 1537;
                                                 }
                                             }
                                         }
                                     }
                                                 }
                                             }
                                         }
                                     }
-                                  else
+                                }
+                            }
+                        }
+                      else
+                        {
+                          if (((word >> 13) & 0x1) == 0)
+                            {
+                              if (((word >> 14) & 0x1) == 0)
+                                {
+                                  if (((word >> 15) & 0x1) == 0)
                                     {
                                     {
-                                      if (((word >> 15) & 0x1) == 0)
+                                      if (((word >> 21) & 0x1) == 0)
                                         {
                                         {
-                                          if (((word >> 22) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x11001x0001xxxxx011xxxxxxxxxxxxx
-                                                     st2b.  */
-                                                  return 1868;
+                                              if (((word >> 10) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx000000xxxxxxxxxx
+                                                             saddlb.  */
+                                                          return 2125;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx000100xxxxxxxxxx
+                                                             ssublb.  */
+                                                          return 2232;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx000010xxxxxxxxxx
+                                                             uaddlb.  */
+                                                          return 2256;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx000110xxxxxxxxxx
+                                                             usublb.  */
+                                                          return 2309;
+                                                        }
+                                                    }
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x11001x0101xxxxx011xxxxxxxxxxxxx
-                                                     st2h.  */
-                                                  return 1872;
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx000001xxxxxxxxxx
+                                                             saddlt.  */
+                                                          return 2127;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx000101xxxxxxxxxx
+                                                             ssublt.  */
+                                                          return 2234;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx000011xxxxxxxxxx
+                                                             uaddlt.  */
+                                                          return 2257;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx000111xxxxxxxxxx
+                                                             usublt.  */
+                                                          return 2310;
+                                                        }
+                                                    }
                                                 }
                                             }
                                           else
                                             {
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x11001x0011xxxxx011xxxxxxxxxxxxx
-                                                     st4b.  */
-                                                  return 1884;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x11001x0111xxxxx011xxxxxxxxxxxxx
-                                                     st4h.  */
-                                                  return 1888;
-                                                }
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 110001x1xx0xxxxx000xxxxxxxxxxxxx
+                                                 ld1sw.  */
+                                              return 1581;
                                             }
                                         }
                                       else
                                         {
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 20) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 10) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 11) & 0x1) == 0)
                                                     {
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x11001x00010xxxx111xxxxxxxxxxxxx
-                                                         st1b.  */
-                                                      return 1830;
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx000000xxxxxxxxxx
+                                                             sqshrunb.  */
+                                                          return 2215;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx000100xxxxxxxxxx
+                                                             shrnb.  */
+                                                          return 2133;
+                                                        }
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x11001x01010xxxx111xxxxxxxxxxxxx
-                                                         st1h.  */
-                                                      return 1851;
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx000010xxxxxxxxxx
+                                                             sqrshrunb.  */
+                                                          return 2207;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx000110xxxxxxxxxx
+                                                             rshrnb.  */
+                                                          return 2115;
+                                                        }
                                                     }
                                                 }
                                               else
                                                 {
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 11) & 0x1) == 0)
                                                     {
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x11001x00110xxxx111xxxxxxxxxxxxx
-                                                         st1b.  */
-                                                      return 1834;
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx000001xxxxxxxxxx
+                                                             sqshrunt.  */
+                                                          return 2216;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx000101xxxxxxxxxx
+                                                             shrnt.  */
+                                                          return 2134;
+                                                        }
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x11001x01110xxxx111xxxxxxxxxxxxx
-                                                         st1h.  */
-                                                      return 1855;
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx000011xxxxxxxxxx
+                                                             sqrshrunt.  */
+                                                          return 2208;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx000111xxxxxxxxxx
+                                                             rshrnt.  */
+                                                          return 2116;
+                                                        }
                                                     }
                                                 }
                                             }
                                           else
                                             {
                                                     }
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 110001x1xx1xxxxx000xxxxxxxxxxxxx
+                                                 ld1sw.  */
+                                              return 1582;
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 21) & 0x1) == 0)
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              if (((word >> 10) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 11) & 0x1) == 0)
                                                     {
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x11001x00011xxxx111xxxxxxxxxxxxx
-                                                         st2b.  */
-                                                      return 1869;
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx100000xxxxxxxxxx
+                                                             saddlbt.  */
+                                                          return 2126;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx100100xxxxxxxxxx
+                                                             eorbt.  */
+                                                          return 2062;
+                                                        }
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x11001x01011xxxx111xxxxxxxxxxxxx
-                                                         st2h.  */
-                                                      return 1873;
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx100010xxxxxxxxxx
+                                                             ssublbt.  */
+                                                          return 2233;
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 22) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x1000xxxxx100110xxxxxxxxxx
+                                                                     smmla.  */
+                                                                  return 2391;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x1100xxxxx100110xxxxxxxxxx
+                                                                     usmmla.  */
+                                                                  return 2393;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x1x10xxxxx100110xxxxxxxxxx
+                                                                 ummla.  */
+                                                              return 2392;
+                                                            }
+                                                        }
                                                     }
                                                 }
                                               else
                                                 {
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 11) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         x11001x00111xxxx111xxxxxxxxxxxxx
-                                                         st4b.  */
-                                                      return 1885;
+                                                         010001x1xx0xxxxx100x01xxxxxxxxxx
+                                                         eortb.  */
+                                                      return 2063;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         x11001x01111xxxx111xxxxxxxxxxxxx
-                                                         st4h.  */
-                                                      return 1889;
+                                                         010001x1xx0xxxxx100x11xxxxxxxxxx
+                                                         ssubltb.  */
+                                                      return 2235;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
-              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 1714;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 000001x11000xxxxxxxxxxxxxxxxxxxx
-                                                 and.  */
-                                              return 1242;
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 000001x10100xxxxxxxxxxxxxxxxxxxx
-                                                 eor.  */
-                                              return 1329;
-                                            }
                                           else
                                             {
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 000001x11100xxxxxxxxxxxxxxxxxxxx
-                                                 dupm.  */
-                                              return 1327;
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x1x00xxxxx100xxxxxxxxxxxxx
+                                                     ldnt1sw.  */
+                                                  return 2094;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x1x10xxxxx100xxxxxxxxxxxxx
+                                                     ld1sw.  */
+                                                  return 1583;
+                                                }
                                             }
                                         }
                                             }
                                         }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 15) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             000001x1xx01xxxx0xxxxxxxxxxxxxxx
-                                             cpy.  */
-                                          return 1312;
-                                        }
                                       else
                                         {
                                       else
                                         {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             000001x1xx01xxxx1xxxxxxxxxxxxxxx
-                                             fcpy.  */
-                                          return 1359;
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     010001x1xx1xxxxx100xxxxxxxx0xxxx
+                                                     match.  */
+                                                  return 2097;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     010001x1xx1xxxxx100xxxxxxxx1xxxx
+                                                     nmatch.  */
+                                                  return 2109;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x1x01xxxxx100xxxxxxxxxxxxx
+                                                     ld1sw.  */
+                                                  return 1586;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x1x11xxxxx100xxxxxxxxxxxxx
+                                                     ld1sw.  */
+                                                  return 1584;
+                                                }
+                                            }
                                         }
                                     }
                                 }
                               else
                                 {
                                         }
                                     }
                                 }
                               else
                                 {
-                                  if (((word >> 14) & 0x1) == 0)
+                                  if (((word >> 15) & 0x1) == 0)
                                     {
                                     {
-                                      if (((word >> 13) & 0x1) == 0)
+                                      if (((word >> 21) & 0x1) == 0)
                                         {
                                         {
-                                          if (((word >> 15) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 000001x1xx1xxxxx000xxxxxxxxxxxxx
-                                                 ext.  */
-                                              return 1334;
-                                            }
-                                          else
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 16) & 0x1) == 0)
+                                              if (((word >> 10) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 17) & 0x1) == 0)
+                                                  if (((word >> 11) & 0x1) == 0)
                                                     {
                                                     {
-                                                      if (((word >> 18) & 0x1) == 0)
+                                                      if (((word >> 12) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 19) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x1xx1x0000100xxxxxxxxxxxxx
-                                                                 cpy.  */
-                                                              return 1310;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x1xx1x1000100xxxxxxxxxxxxx
-                                                                 clasta.  */
-                                                              return 1268;
-                                                            }
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx010000xxxxxxxxxx
+                                                             saddwb.  */
+                                                          return 2128;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
-                                                          if (((word >> 19) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x1xx1x0100100xxxxxxxxxxxxx
-                                                                 revb.  */
-                                                              return 1762;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x1xx1x1100100xxxxxxxxxxxxx
-                                                                 splice.  */
-                                                              return 1789;
-                                                            }
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx010100xxxxxxxxxx
+                                                             ssubwb.  */
+                                                          return 2236;
                                                         }
                                                     }
                                                   else
                                                     {
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 18) & 0x1) == 0)
+                                                      if (((word >> 12) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 19) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x1xx1x0010100xxxxxxxxxxxxx
-                                                                 lasta.  */
-                                                              return 1456;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x1xx1x1010100xxxxxxxxxxxxx
-                                                                 clasta.  */
-                                                              return 1269;
-                                                            }
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx010010xxxxxxxxxx
+                                                             uaddwb.  */
+                                                          return 2258;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             000001x1xx1xx110100xxxxxxxxxxxxx
-                                                             revw.  */
-                                                          return 1764;
+                                                             010001x1xx0xxxxx010110xxxxxxxxxx
+                                                             usubwb.  */
+                                                          return 2311;
                                                         }
                                                     }
                                                 }
                                               else
                                                 {
                                                         }
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 17) & 0x1) == 0)
+                                                  if (((word >> 11) & 0x1) == 0)
                                                     {
                                                     {
-                                                      if (((word >> 18) & 0x1) == 0)
+                                                      if (((word >> 12) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 19) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x1xx1x0001100xxxxxxxxxxxxx
-                                                                 compact.  */
-                                                              return 1309;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x1xx1x1001100xxxxxxxxxxxxx
-                                                                 clastb.  */
-                                                              return 1271;
-                                                            }
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx010001xxxxxxxxxx
+                                                             saddwt.  */
+                                                          return 2129;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             000001x1xx1xx101100xxxxxxxxxxxxx
-                                                             revh.  */
-                                                          return 1763;
+                                                             010001x1xx0xxxxx010101xxxxxxxxxx
+                                                             ssubwt.  */
+                                                          return 2237;
                                                         }
                                                     }
                                                   else
                                                     {
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 18) & 0x1) == 0)
+                                                      if (((word >> 12) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 19) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x1xx1x0011100xxxxxxxxxxxxx
-                                                                 lastb.  */
-                                                              return 1458;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x1xx1x1011100xxxxxxxxxxxxx
-                                                                 clastb.  */
-                                                              return 1272;
-                                                            }
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx010011xxxxxxxxxx
+                                                             uaddwt.  */
+                                                          return 2259;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             000001x1xx1xx111100xxxxxxxxxxxxx
-                                                             rbit.  */
-                                                          return 1755;
+                                                             010001x1xx0xxxxx010111xxxxxxxxxx
+                                                             usubwt.  */
+                                                          return 2312;
                                                         }
                                                     }
                                                 }
                                             }
                                                         }
                                                     }
                                                 }
                                             }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 15) & 0x1) == 0)
+                                          else
                                             {
                                             {
-                                              if (((word >> 11) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 12) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x1xx1xxxxx00100xxxxxxxxxxx
-                                                         dup.  */
-                                                      return 1325;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x1xx1xxxxx00110xxxxxxxxxxx
-                                                         tbl.  */
-                                                      return 1912;
-                                                    }
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x10x0xxxxx010xxxxxxxxxxxxx
+                                                     ld1w.  */
+                                                  return 1591;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 16) & 0x1) == 0)
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x11x0xxxxx010xxxxxxxxxxxxx
+                                                     ld1d.  */
+                                                  return 1513;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              if (((word >> 31) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 10) & 0x1) == 0)
                                                     {
                                                     {
-                                                      if (((word >> 17) & 0x1) == 0)
+                                                      if (((word >> 11) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 18) & 0x1) == 0)
+                                                          if (((word >> 12) & 0x1) == 0)
                                                             {
                                                             {
-                                                              if (((word >> 19) & 0x1) == 0)
-                                                                {
-                                                                  if (((word >> 20) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x1xx100000001x1xxxxxxxxxxx
-                                                                         dup.  */
-                                                                      return 1324;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x1xx110000001x1xxxxxxxxxxx
-                                                                         sunpklo.  */
-                                                                      return 1908;
-                                                                    }
-                                                                }
-                                                              else
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x1xx1x1000001x1xxxxxxxxxxx
-                                                                     rev.  */
-                                                                  return 1761;
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x10x1xxxxx010000xxxxxxxxxx
+                                                                 sqxtnb.  */
+                                                              return 2219;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 20) & 0x1) == 0)
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x1xx10x100001x1xxxxxxxxxxx
-                                                                     insr.  */
-                                                                  return 1453;
-                                                                }
-                                                              else
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x1xx11x100001x1xxxxxxxxxxx
-                                                                     insr.  */
-                                                                  return 1454;
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x10x1xxxxx010100xxxxxxxxxx
+                                                                 sqxtunb.  */
+                                                              return 2221;
                                                             }
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                             }
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             000001x1xx1xxx10001x1xxxxxxxxxxx
-                                                             uunpklo.  */
-                                                          return 1971;
+                                                             010001x10x1xxxxx010x10xxxxxxxxxx
+                                                             uqxtnb.  */
+                                                          return 2296;
                                                         }
                                                     }
                                                   else
                                                     {
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 17) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x1xx1xxx01001x1xxxxxxxxxxx
-                                                             sunpkhi.  */
-                                                          return 1907;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x1xx1xxx11001x1xxxxxxxxxxx
-                                                             uunpkhi.  */
-                                                          return 1970;
-                                                        }
-                                                    }
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 16) & 0x1) == 0)
-                                                {
-                                                  if (((word >> 19) & 0x1) == 0)
-                                                    {
-                                                      if (((word >> 20) & 0x1) == 0)
+                                                      if (((word >> 11) & 0x1) == 0)
                                                         {
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x1xx100xx0101xxxxxxxxxxxxx
-                                                             lasta.  */
-                                                          return 1455;
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x10x1xxxxx010001xxxxxxxxxx
+                                                                 sqxtnt.  */
+                                                              return 2220;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x10x1xxxxx010101xxxxxxxxxx
+                                                                 sqxtunt.  */
+                                                              return 2222;
+                                                            }
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             000001x1xx110xx0101xxxxxxxxxxxxx
-                                                             clasta.  */
-                                                          return 1270;
+                                                             010001x10x1xxxxx010x11xxxxxxxxxx
+                                                             uqxtnt.  */
+                                                          return 2297;
                                                         }
                                                     }
                                                         }
                                                     }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x1xx1x1xx0101xxxxxxxxxxxxx
-                                                         cpy.  */
-                                                      return 1311;
-                                                    }
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 20) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x1xx10xxx1101xxxxxxxxxxxxx
-                                                         lastb.  */
-                                                      return 1457;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x1xx11xxx1101xxxxxxxxxxxxx
-                                                         clastb.  */
-                                                      return 1273;
-                                                    }
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x10x1xxxxx010xxxxxxxxxxxxx
+                                                     ld1w.  */
+                                                  return 1592;
                                                 }
                                             }
                                                 }
                                             }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 x10001x11x1xxxxx010xxxxxxxxxxxxx
+                                                 ld1d.  */
+                                              return 1514;
+                                            }
                                         }
                                     }
                                   else
                                     {
                                         }
                                     }
                                   else
                                     {
-                                      if (((word >> 15) & 0x1) == 0)
+                                      if (((word >> 21) & 0x1) == 0)
                                         {
                                         {
-                                          if (((word >> 10) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                               if (((word >> 11) & 0x1) == 0)
                                                 {
                                             {
                                               if (((word >> 11) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 12) & 0x1) == 0)
+                                                  if (((word >> 10) & 0x1) == 0)
                                                     {
                                                     {
-                                                      if (((word >> 13) & 0x1) == 0)
+                                                      if (((word >> 12) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 20) & 0x1) == 0)
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx110000xxxxxxxxxx
+                                                             sabalb.  */
+                                                          return 2120;
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 23) & 0x1) == 0)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x1xx10xxxx010000xxxxxxxxxx
-                                                                 zip1.  */
-                                                              return 1988;
+                                                                 010001x10x0xxxxx110100xxxxxxxxxx
+                                                                 adclb.  */
+                                                              return 2045;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 16) & 0x1) == 0)
-                                                                {
-                                                                  if (((word >> 18) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x1xx11x0x0010000xxxxxxxxxx
-                                                                         punpklo.  */
-                                                                      return 1754;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         000001x1xx11x1x0010000xxxxxxxxxx
-                                                                         rev.  */
-                                                                      return 1760;
-                                                                    }
-                                                                }
-                                                              else
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     000001x1xx11xxx1010000xxxxxxxxxx
-                                                                     punpkhi.  */
-                                                                  return 1753;
-                                                                }
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x11x0xxxxx110100xxxxxxxxxx
+                                                                 sbclb.  */
+                                                              return 2130;
                                                             }
                                                         }
                                                             }
                                                         }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x1xx1xxxxx011000xxxxxxxxxx
-                                                             zip1.  */
-                                                          return 1989;
-                                                        }
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 13) & 0x1) == 0)
+                                                      if (((word >> 12) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             000001x1xx1xxxxx010100xxxxxxxxxx
-                                                             trn1.  */
-                                                          return 1913;
+                                                             010001x1xx0xxxxx110001xxxxxxxxxx
+                                                             sabalt.  */
+                                                          return 2121;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x1xx1xxxxx011100xxxxxxxxxx
-                                                             trn1.  */
-                                                          return 1914;
+                                                          if (((word >> 23) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x10x0xxxxx110101xxxxxxxxxx
+                                                                 adclt.  */
+                                                              return 2046;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x11x0xxxxx110101xxxxxxxxxx
+                                                                 sbclt.  */
+                                                              return 2131;
+                                                            }
                                                         }
                                                     }
                                                 }
                                               else
                                                         }
                                                     }
                                                 }
                                               else
-                                                {
-                                                  if (((word >> 13) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x1xx1xxxxx010x10xxxxxxxxxx
-                                                         uzp1.  */
-                                                      return 1975;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x1xx1xxxxx011x10xxxxxxxxxx
-                                                         uzp1.  */
-                                                      return 1976;
-                                                    }
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 11) & 0x1) == 0)
                                                 {
                                                   if (((word >> 12) & 0x1) == 0)
                                                     {
                                                 {
                                                   if (((word >> 12) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 13) & 0x1) == 0)
+                                                      if (((word >> 10) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             000001x1xx1xxxxx010001xxxxxxxxxx
-                                                             zip2.  */
-                                                          return 1990;
+                                                             010001x1xx0xxxxx110010xxxxxxxxxx
+                                                             uabalb.  */
+                                                          return 2251;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             000001x1xx1xxxxx011001xxxxxxxxxx
-                                                             zip2.  */
-                                                          return 1991;
+                                                             010001x1xx0xxxxx110011xxxxxxxxxx
+                                                             uabalt.  */
+                                                          return 2252;
                                                         }
                                                     }
                                                   else
                                                     {
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 13) & 0x1) == 0)
+                                                      if (((word >> 16) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             000001x1xx1xxxxx010101xxxxxxxxxx
-                                                             trn2.  */
-                                                          return 1915;
+                                                             010001x1xx0xxxx011011xxxxxxxxxxx
+                                                             cadd.  */
+                                                          return 2054;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             000001x1xx1xxxxx011101xxxxxxxxxx
-                                                             trn2.  */
-                                                          return 1916;
+                                                             010001x1xx0xxxx111011xxxxxxxxxxx
+                                                             sqcadd.  */
+                                                          return 2162;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
-                                              else
-                                                {
-                                                  if (((word >> 13) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x1xx1xxxxx010x11xxxxxxxxxx
-                                                         uzp2.  */
-                                                      return 1977;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x1xx1xxxxx011x11xxxxxxxxxx
-                                                         uzp2.  */
-                                                      return 1978;
-                                                    }
-                                                }
-                                            }
-                                        }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             000001x1xx1xxxxx11xxxxxxxxxxxxxx
-                                             sel.  */
-                                          return 1779;
-                                        }
-                                    }
-                                }
-                            }
-                          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 1683;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 100001x1x1xxxxxx000xxxxxxxxxxxxx
-                                                 prfb.  */
-                                              return 1727;
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 100001x10xxxxxxx100xxxxxxxxxxxxx
-                                                 ld1rsh.  */
-                                              return 1512;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 100001x11xxxxxxx100xxxxxxxxxxxxx
-                                                 ld1rsb.  */
-                                              return 1509;
-                                            }
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 15) & 0x1) == 0)
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              if (((word >> 21) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x10x0xxxxx010xxxxxxxxxxxxx
-                                                     ld1w.  */
-                                                  return 1547;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x10x1xxxxx010xxxxxxxxxxxxx
-                                                     ld1w.  */
-                                                  return 1548;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 22) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x110xxxxxx010xxxxxxxxxxxxx
-                                                     ldr.  */
-                                                  return 1684;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x111xxxxxx010xxxxxxxxxxxxx
-                                                     prfw.  */
-                                                  return 1748;
-                                                }
                                             }
                                             }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
+                                          else
                                             {
                                             {
-                                              if (((word >> 21) & 0x1) == 0)
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
                                                   if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                 {
                                                   if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         100001x1000xxxxx110xxxxxxxxxxxxx
-                                                         prfw.  */
-                                                      return 1744;
+                                                         110001x1000xxxxx110xxxxxxxxxxxxx
+                                                         ldnt1w.  */
+                                                      return 2096;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         100001x1100xxxxx110xxxxxxxxxxxxx
-                                                         prfd.  */
-                                                      return 1730;
+                                                         110001x1100xxxxx110xxxxxxxxxxxxx
+                                                         ldnt1d.  */
+                                                      return 2089;
                                                     }
                                                 }
                                               else
                                                 {
                                                     }
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x1x01xxxxx110xxxxxxxxxxxxx
-                                                     ld1w.  */
-                                                  return 1555;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x1010xxxxx110xxxxxxxxxxxxx
+                                                         ld1w.  */
+                                                      return 1593;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x1110xxxxx110xxxxxxxxxxxxx
+                                                         ld1d.  */
+                                                      return 1515;
+                                                    }
                                                 }
                                             }
                                                 }
                                             }
-                                          else
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 23) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     100001x101xxxxxx110xxxxxxxxxxxxx
-                                                     ld1rw.  */
-                                                  return 1515;
+                                                     x10001x1001xxxxx110xxxxxxxxxxxxx
+                                                     ld1w.  */
+                                                  return 1598;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     100001x111xxxxxx110xxxxxxxxxxxxx
-                                                     ld1rsb.  */
-                                                  return 1511;
+                                                     x10001x1011xxxxx110xxxxxxxxxxxxx
+                                                     ld1w.  */
+                                                  return 1594;
                                                 }
                                             }
                                                 }
                                             }
-                                        }
-                                    }
-                                }
-                              else
-                                {
-                                  if (((word >> 14) & 0x1) == 0)
-                                    {
-                                      if (((word >> 15) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             100001x1xxxxxxxx001xxxxxxxxxxxxx
-                                             prfh.  */
-                                          return 1741;
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 100001x10xxxxxxx101xxxxxxxxxxxxx
-                                                 ld1rsh.  */
-                                              return 1513;
-                                            }
                                           else
                                             {
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 100001x11xxxxxxx101xxxxxxxxxxxxx
-                                                 ld1rsb.  */
-                                              return 1510;
-                                            }
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 15) & 0x1) == 0)
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              if (((word >> 21) & 0x1) == 0)
+                                              if (((word >> 31) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     100001x10x0xxxxx011xxxxxxxxxxxxx
-                                                     ldff1w.  */
-                                                  return 1647;
+                                                     010001x11x1xxxxx110xxxxxxxxxxxxx
+                                                     histcnt.  */
+                                                  return 2085;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x10x1xxxxx011xxxxxxxxxxxxx
-                                                     ldff1w.  */
-                                                  return 1648;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 100001x11xxxxxxx011xxxxxxxxxxxxx
-                                                 prfd.  */
-                                              return 1734;
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              if (((word >> 21) & 0x1) == 0)
-                                                {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 22) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         100001x1000xxxxx111xxxxxxxxxxxxx
-                                                         prfw.  */
-                                                      return 1747;
+                                                         110001x1101xxxxx110xxxxxxxxxxxxx
+                                                         ld1d.  */
+                                                      return 1518;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         100001x1100xxxxx111xxxxxxxxxxxxx
-                                                         prfd.  */
-                                                      return 1733;
+                                                         110001x1111xxxxx110xxxxxxxxxxxxx
+                                                         ld1d.  */
+                                                      return 1516;
                                                     }
                                                 }
                                                     }
                                                 }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x1x01xxxxx111xxxxxxxxxxxxx
-                                                     ldff1w.  */
-                                                  return 1657;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x101xxxxxx111xxxxxxxxxxxxx
-                                                     ld1rw.  */
-                                                  return 1516;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     100001x111xxxxxx111xxxxxxxxxxxxx
-                                                     ld1rd.  */
-                                                  return 1497;
-                                                }
                                             }
                                         }
                                     }
                                 }
                             }
                                             }
                                         }
                                     }
                                 }
                             }
-                        }
-                      else
-                        {
-                          if (((word >> 13) & 0x1) == 0)
+                          else
                             {
                               if (((word >> 14) & 0x1) == 0)
                                 {
                             {
                               if (((word >> 14) & 0x1) == 0)
                                 {
@@ -8419,92 +11518,150 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       if (((word >> 21) & 0x1) == 0)
                                         {
                                     {
                                       if (((word >> 21) & 0x1) == 0)
                                         {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             x10001x1xx0xxxxx000xxxxxxxxxxxxx
-                                             ld1sw.  */
-                                          return 1541;
-                                        }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             x10001x1xx1xxxxx000xxxxxxxxxxxxx
-                                             ld1sw.  */
-                                          return 1542;
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 21) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             x10001x1xx0xxxxx100xxxxxxxxxxxxx
-                                             ld1sw.  */
-                                          return 1543;
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x1x01xxxxx100xxxxxxxxxxxxx
-                                                 ld1sw.  */
-                                              return 1546;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x1x11xxxxx100xxxxxxxxxxxxx
-                                                 ld1sw.  */
-                                              return 1544;
-                                            }
-                                        }
-                                    }
-                                }
-                              else
-                                {
-                                  if (((word >> 15) & 0x1) == 0)
-                                    {
-                                      if (((word >> 21) & 0x1) == 0)
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x10x0xxxxx010xxxxxxxxxxxxx
-                                                 ld1w.  */
-                                              return 1551;
+                                              if (((word >> 10) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         010001x1xx0xxxxx001x00xxxxxxxxxx
+                                                         sabdlb.  */
+                                                      return 2122;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         010001x1xx0xxxxx001x10xxxxxxxxxx
+                                                         uabdlb.  */
+                                                      return 2253;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         010001x1xx0xxxxx001x01xxxxxxxxxx
+                                                         sabdlt.  */
+                                                      return 2123;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         010001x1xx0xxxxx001x11xxxxxxxxxx
+                                                         uabdlt.  */
+                                                      return 2254;
+                                                    }
+                                                }
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 x10001x11x0xxxxx010xxxxxxxxxxxxx
-                                                 ld1d.  */
-                                              return 1473;
+                                                 110001x1xx0xxxxx001xxxxxxxxxxxxx
+                                                 ldff1sw.  */
+                                              return 1682;
                                             }
                                         }
                                       else
                                         {
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 23) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x10x1xxxxx010xxxxxxxxxxxxx
-                                                 ld1w.  */
-                                              return 1552;
+                                              if (((word >> 10) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx001000xxxxxxxxxx
+                                                             sqshrnb.  */
+                                                          return 2213;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx001100xxxxxxxxxx
+                                                             uqshrnb.  */
+                                                          return 2292;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx001010xxxxxxxxxx
+                                                             sqrshrnb.  */
+                                                          return 2205;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx001110xxxxxxxxxx
+                                                             uqrshrnb.  */
+                                                          return 2287;
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx001001xxxxxxxxxx
+                                                             sqshrnt.  */
+                                                          return 2214;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx001101xxxxxxxxxx
+                                                             uqshrnt.  */
+                                                          return 2293;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx001011xxxxxxxxxx
+                                                             sqrshrnt.  */
+                                                          return 2206;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx001111xxxxxxxxxx
+                                                             uqrshrnt.  */
+                                                          return 2288;
+                                                        }
+                                                    }
+                                                }
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 x10001x11x1xxxxx010xxxxxxxxxxxxx
-                                                 ld1d.  */
-                                              return 1474;
+                                                 110001x1xx1xxxxx001xxxxxxxxxxxxx
+                                                 ldff1sw.  */
+                                              return 1683;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -8512,117 +11669,117 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       if (((word >> 21) & 0x1) == 0)
                                         {
                                     {
                                       if (((word >> 21) & 0x1) == 0)
                                         {
-                                          if (((word >> 23) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x10x0xxxxx110xxxxxxxxxxxxx
-                                                 ld1w.  */
-                                              return 1553;
+                                              if (((word >> 10) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx101000xxxxxxxxxx
+                                                             sshllb.  */
+                                                          return 2229;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx101100xxxxxxxxxx
+                                                             bext.  */
+                                                          return 2334;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx101010xxxxxxxxxx
+                                                             ushllb.  */
+                                                          return 2305;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx101110xxxxxxxxxx
+                                                             bgrp.  */
+                                                          return 2335;
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx101001xxxxxxxxxx
+                                                             sshllt.  */
+                                                          return 2230;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx101101xxxxxxxxxx
+                                                             bdep.  */
+                                                          return 2333;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         010001x1xx0xxxxx101x11xxxxxxxxxx
+                                                         ushllt.  */
+                                                      return 2306;
+                                                    }
+                                                }
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 x10001x11x0xxxxx110xxxxxxxxxxxxx
-                                                 ld1d.  */
-                                              return 1475;
+                                                 110001x1xx0xxxxx101xxxxxxxxxxxxx
+                                                 ldff1sw.  */
+                                              return 1684;
                                             }
                                         }
                                       else
                                         {
                                           if (((word >> 22) & 0x1) == 0)
                                             {
                                             }
                                         }
                                       else
                                         {
                                           if (((word >> 22) & 0x1) == 0)
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x1001xxxxx110xxxxxxxxxxxxx
-                                                     ld1w.  */
-                                                  return 1558;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x1101xxxxx110xxxxxxxxxxxxx
-                                                     ld1d.  */
-                                                  return 1478;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 31) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x10001x1011xxxxx110xxxxxxxxxxxxx
-                                                     ld1w.  */
-                                                  return 1554;
+                                                     010001x1x01xxxxx101xxxxxxxxxxxxx
+                                                     histseg.  */
+                                                  return 2086;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     x10001x1111xxxxx110xxxxxxxxxxxxx
-                                                     ld1d.  */
-                                                  return 1476;
+                                                     110001x1x01xxxxx101xxxxxxxxxxxxx
+                                                     ldff1sw.  */
+                                                  return 1686;
                                                 }
                                             }
                                                 }
                                             }
-                                        }
-                                    }
-                                }
-                            }
-                          else
-                            {
-                              if (((word >> 14) & 0x1) == 0)
-                                {
-                                  if (((word >> 15) & 0x1) == 0)
-                                    {
-                                      if (((word >> 21) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             x10001x1xx0xxxxx001xxxxxxxxxxxxx
-                                             ldff1sw.  */
-                                          return 1642;
-                                        }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             x10001x1xx1xxxxx001xxxxxxxxxxxxx
-                                             ldff1sw.  */
-                                          return 1643;
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 21) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             x10001x1xx0xxxxx101xxxxxxxxxxxxx
-                                             ldff1sw.  */
-                                          return 1644;
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x1x01xxxxx101xxxxxxxxxxxxx
-                                                 ldff1sw.  */
-                                              return 1646;
-                                            }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
                                                  x10001x1x11xxxxx101xxxxxxxxxxxxx
                                                  ldff1sw.  */
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
                                                  x10001x1x11xxxxx101xxxxxxxxxxxxx
                                                  ldff1sw.  */
-                                              return 1645;
+                                              return 1685;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -8633,40 +11790,238 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       if (((word >> 21) & 0x1) == 0)
                                         {
                                     {
                                       if (((word >> 21) & 0x1) == 0)
                                         {
-                                          if (((word >> 23) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x10x0xxxxx011xxxxxxxxxxxxx
-                                                 ldff1w.  */
-                                              return 1653;
+                                              if (((word >> 10) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx011000xxxxxxxxxx
+                                                             sqdmullb.  */
+                                                          return 2183;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx011100xxxxxxxxxx
+                                                             smullb.  */
+                                                          return 2155;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 22) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x1x00xxxxx011010xxxxxxxxxx
+                                                                 pmullb.  */
+                                                              return 2330;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x1x10xxxxx011010xxxxxxxxxx
+                                                                 pmullb.  */
+                                                              return 2111;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx011110xxxxxxxxxx
+                                                             umullb.  */
+                                                          return 2280;
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx011001xxxxxxxxxx
+                                                             sqdmullt.  */
+                                                          return 2186;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx011101xxxxxxxxxx
+                                                             smullt.  */
+                                                          return 2158;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 22) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x1x00xxxxx011011xxxxxxxxxx
+                                                                 pmullt.  */
+                                                              return 2331;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x1x10xxxxx011011xxxxxxxxxx
+                                                                 pmullt.  */
+                                                              return 2112;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx011111xxxxxxxxxx
+                                                             umullt.  */
+                                                          return 2283;
+                                                        }
+                                                    }
+                                                }
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x11x0xxxxx011xxxxxxxxxxxxx
-                                                 ldff1d.  */
-                                              return 1598;
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x10x0xxxxx011xxxxxxxxxxxxx
+                                                     ldff1w.  */
+                                                  return 1693;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x11x0xxxxx011xxxxxxxxxxxxx
+                                                     ldff1d.  */
+                                                  return 1638;
+                                                }
                                             }
                                         }
                                       else
                                         {
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 23) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x10x1xxxxx011xxxxxxxxxxxxx
-                                                 ldff1w.  */
-                                              return 1654;
+                                              if (((word >> 10) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx011000xxxxxxxxxx
+                                                             addhnb.  */
+                                                          return 2047;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx011100xxxxxxxxxx
+                                                             subhnb.  */
+                                                          return 2245;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx011010xxxxxxxxxx
+                                                             raddhnb.  */
+                                                          return 2113;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx011110xxxxxxxxxx
+                                                             rsubhnb.  */
+                                                          return 2117;
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx011001xxxxxxxxxx
+                                                             addhnt.  */
+                                                          return 2048;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx011101xxxxxxxxxx
+                                                             subhnt.  */
+                                                          return 2246;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx011011xxxxxxxxxx
+                                                             raddhnt.  */
+                                                          return 2114;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx1xxxxx011111xxxxxxxxxx
+                                                             rsubhnt.  */
+                                                          return 2118;
+                                                        }
+                                                    }
+                                                }
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x10001x11x1xxxxx011xxxxxxxxxxxxx
-                                                 ldff1d.  */
-                                              return 1599;
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x10x1xxxxx011xxxxxxxxxxxxx
+                                                     ldff1w.  */
+                                                  return 1694;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x11x1xxxxx011xxxxxxxxxxxxx
+                                                     ldff1d.  */
+                                                  return 1639;
+                                                }
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -8674,42 +12029,130 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       if (((word >> 21) & 0x1) == 0)
                                         {
                                     {
                                       if (((word >> 21) & 0x1) == 0)
                                         {
-                                          if (((word >> 22) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 10) & 0x1) == 0)
                                                 {
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x1000xxxxx111xxxxxxxxxxxxx
-                                                     prfw.  */
-                                                  return 1749;
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx111000xxxxxxxxxx
+                                                             ssra.  */
+                                                          return 2231;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx111100xxxxxxxxxx
+                                                             sri.  */
+                                                          return 2224;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx111010xxxxxxxxxx
+                                                             srsra.  */
+                                                          return 2228;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx111110xxxxxxxxxx
+                                                             saba.  */
+                                                          return 2119;
+                                                        }
+                                                    }
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x1100xxxxx111xxxxxxxxxxxxx
-                                                     prfd.  */
-                                                  return 1735;
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx111001xxxxxxxxxx
+                                                             usra.  */
+                                                          return 2308;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx111101xxxxxxxxxx
+                                                             sli.  */
+                                                          return 2137;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx111011xxxxxxxxxx
+                                                             ursra.  */
+                                                          return 2304;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x1xx0xxxxx111111xxxxxxxxxx
+                                                             uaba.  */
+                                                          return 2250;
+                                                        }
+                                                    }
                                                 }
                                             }
                                           else
                                             {
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x1010xxxxx111xxxxxxxxxxxxx
-                                                     ldff1w.  */
-                                                  return 1655;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x1000xxxxx111xxxxxxxxxxxxx
+                                                         prfw.  */
+                                                      return 1789;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x1100xxxxx111xxxxxxxxxxxxx
+                                                         prfd.  */
+                                                      return 1775;
+                                                    }
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x1110xxxxx111xxxxxxxxxxxxx
-                                                     ldff1d.  */
-                                                  return 1600;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x1010xxxxx111xxxxxxxxxxxxx
+                                                         ldff1w.  */
+                                                      return 1695;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x1110xxxxx111xxxxxxxxxxxxx
+                                                         ldff1d.  */
+                                                      return 1640;
+                                                    }
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -8719,11 +12162,88 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               if (((word >> 23) & 0x1) == 0)
                                                 {
                                             {
                                               if (((word >> 23) & 0x1) == 0)
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x1001xxxxx111xxxxxxxxxxxxx
-                                                     ldff1w.  */
-                                                  return 1658;
+                                                  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 2329;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         010001x1001xxx101110x0xxxxxxxxxx
+                                                                         aese.  */
+                                                                      return 2327;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x1001xxxx11110x0xxxxxxxxxx
+                                                                     sm4e.  */
+                                                                  return 2324;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x1001xxxxx1111x0xxxxxxxxxx
+                                                                 sm4ekey.  */
+                                                              return 2325;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 17) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x1001xxx0x1110x1xxxxxxxxxx
+                                                                     aesimc.  */
+                                                                  return 2328;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     010001x1001xxx1x1110x1xxxxxxxxxx
+                                                                     aesd.  */
+                                                                  return 2326;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 010001x1001xxxxx1111x1xxxxxxxxxx
+                                                                 rax1.  */
+                                                              return 2332;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x1001xxxxx111xxxxxxxxxxxxx
+                                                         ldff1w.  */
+                                                      return 1698;
+                                                    }
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -8731,7 +12251,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x1101xxxxx111xxxxxxxxxxxxx
                                                      ldff1d.  */
                                                      10987654321098765432109876543210
                                                      x10001x1101xxxxx111xxxxxxxxxxxxx
                                                      ldff1d.  */
-                                                  return 1602;
+                                                  return 1642;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -8742,7 +12262,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x1011xxxxx111xxxxxxxxxxxxx
                                                      ldff1w.  */
                                                      10987654321098765432109876543210
                                                      x10001x1011xxxxx111xxxxxxxxxxxxx
                                                      ldff1w.  */
-                                                  return 1656;
+                                                  return 1696;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -8750,7 +12270,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10001x1111xxxxx111xxxxxxxxxxxxx
                                                      ldff1d.  */
                                                      10987654321098765432109876543210
                                                      x10001x1111xxxxx111xxxxxxxxxxxxx
                                                      ldff1d.  */
-                                                  return 1601;
+                                                  return 1641;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -8779,7 +12299,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x1xx0xxxxx000xxxxxxxx0xxxx
                                                      cmpge.  */
                                                      10987654321098765432109876543210
                                                      001001x1xx0xxxxx000xxxxxxxx0xxxx
                                                      cmpge.  */
-                                                  return 1281;
+                                                  return 1321;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -8787,7 +12307,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x1xx0xxxxx000xxxxxxxx1xxxx
                                                      cmpgt.  */
                                                      10987654321098765432109876543210
                                                      001001x1xx0xxxxx000xxxxxxxx1xxxx
                                                      cmpgt.  */
-                                                  return 1284;
+                                                  return 1324;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -8798,7 +12318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x10x0xxxxx000xxxxxxxxxxxxx
                                                      ld1rqw.  */
                                                      10987654321098765432109876543210
                                                      101001x10x0xxxxx000xxxxxxxxxxxxx
                                                      ld1rqw.  */
-                                                  return 1508;
+                                                  return 1548;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -8806,92 +12326,202 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x11x0xxxxx000xxxxxxxxxxxxx
                                                      ld1rqd.  */
                                                      10987654321098765432109876543210
                                                      101001x11x0xxxxx000xxxxxxxxxxxxx
                                                      ld1rqd.  */
-                                                  return 1504;
+                                                  return 1544;
                                                 }
                                             }
                                         }
                                       else
                                         {
                                                 }
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 4) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 11) & 0x1) == 0)
+                                              if (((word >> 4) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 12) & 0x1) == 0)
+                                                  if (((word >> 10) & 0x1) == 0)
                                                     {
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x01001x1xx1xxxxx00000xxxxxx0xxxx
-                                                         whilelt.  */
-                                                      return 1985;
+                                                      if (((word >> 11) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1xxxxx000000xxxxx0xxxx
+                                                                 whilege.  */
+                                                              return 2313;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1xxxxx000100xxxxx0xxxx
+                                                                 whilege.  */
+                                                              return 2314;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1xxxxx000010xxxxx0xxxx
+                                                                 whilehs.  */
+                                                              return 2319;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1xxxxx000110xxxxx0xxxx
+                                                                 whilehs.  */
+                                                              return 2320;
+                                                            }
+                                                        }
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x01001x1xx1xxxxx00010xxxxxx0xxxx
-                                                         whilelt.  */
-                                                      return 1986;
+                                                      if (((word >> 11) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1xxxxx000001xxxxx0xxxx
+                                                                 whilelt.  */
+                                                              return 2025;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1xxxxx000101xxxxx0xxxx
+                                                                 whilelt.  */
+                                                              return 2026;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1xxxxx000011xxxxx0xxxx
+                                                                 whilelo.  */
+                                                              return 2021;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1xxxxx000111xxxxx0xxxx
+                                                                 whilelo.  */
+                                                              return 2022;
+                                                            }
+                                                        }
                                                     }
                                                 }
                                               else
                                                 {
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 12) & 0x1) == 0)
+                                                  if (((word >> 10) & 0x1) == 0)
                                                     {
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x01001x1xx1xxxxx00001xxxxxx0xxxx
-                                                         whilelo.  */
-                                                      return 1981;
+                                                      if (((word >> 11) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1xxxxx000000xxxxx1xxxx
+                                                                 whilegt.  */
+                                                              return 2315;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1xxxxx000100xxxxx1xxxx
+                                                                 whilegt.  */
+                                                              return 2316;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1xxxxx000010xxxxx1xxxx
+                                                                 whilehi.  */
+                                                              return 2317;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1xxxxx000110xxxxx1xxxx
+                                                                 whilehi.  */
+                                                              return 2318;
+                                                            }
+                                                        }
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x01001x1xx1xxxxx00011xxxxxx0xxxx
-                                                         whilelo.  */
-                                                      return 1982;
+                                                      if (((word >> 11) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1xxxxx000001xxxxx1xxxx
+                                                                 whilele.  */
+                                                              return 2019;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1xxxxx000101xxxxx1xxxx
+                                                                 whilele.  */
+                                                              return 2020;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 12) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1xxxxx000011xxxxx1xxxx
+                                                                 whilels.  */
+                                                              return 2023;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1xxxxx000111xxxxx1xxxx
+                                                                 whilels.  */
+                                                              return 2024;
+                                                            }
+                                                        }
                                                     }
                                                 }
                                             }
                                           else
                                             {
                                                     }
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 11) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 12) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x01001x1xx1xxxxx00000xxxxxx1xxxx
-                                                         whilele.  */
-                                                      return 1979;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x01001x1xx1xxxxx00010xxxxxx1xxxx
-                                                         whilele.  */
-                                                      return 1980;
-                                                    }
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x10x1xxxxx000xxxxxxxxxxxxx
+                                                     ld1row.  */
+                                                  return 2401;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 12) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x01001x1xx1xxxxx00001xxxxxx1xxxx
-                                                         whilels.  */
-                                                      return 1983;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x01001x1xx1xxxxx00011xxxxxx1xxxx
-                                                         whilels.  */
-                                                      return 1984;
-                                                    }
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x11x1xxxxx000xxxxxxxxxxxxx
+                                                     ld1rod.  */
+                                                  return 2402;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -8910,7 +12540,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x1xx0xxxxx000x00xxxxxxxxxx
                                                          fadd.  */
                                                          10987654321098765432109876543210
                                                          011001x1xx0xxxxx000x00xxxxxxxxxx
                                                          fadd.  */
-                                                      return 1339;
+                                                      return 1379;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -8920,7 +12550,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x1xx0xxxxx000010xxxxxxxxxx
                                                              fmul.  */
                                                              10987654321098765432109876543210
                                                              011001x1xx0xxxxx000010xxxxxxxxxx
                                                              fmul.  */
-                                                          return 1406;
+                                                          return 1446;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -8928,7 +12558,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x1xx0xxxxx000110xxxxxxxxxx
                                                              frecps.  */
                                                              10987654321098765432109876543210
                                                              011001x1xx0xxxxx000110xxxxxxxxxx
                                                              frecps.  */
-                                                          return 1419;
+                                                          return 1459;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -8940,7 +12570,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x1xx0xxxxx000x01xxxxxxxxxx
                                                          fsub.  */
                                                          10987654321098765432109876543210
                                                          011001x1xx0xxxxx000x01xxxxxxxxxx
                                                          fsub.  */
-                                                      return 1432;
+                                                      return 1472;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -8950,7 +12580,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x1xx0xxxxx000011xxxxxxxxxx
                                                              ftsmul.  */
                                                              10987654321098765432109876543210
                                                              011001x1xx0xxxxx000011xxxxxxxxxx
                                                              ftsmul.  */
-                                                          return 1438;
+                                                          return 1478;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -8958,7 +12588,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x1xx0xxxxx000111xxxxxxxxxx
                                                              frsqrts.  */
                                                              10987654321098765432109876543210
                                                              011001x1xx0xxxxx000111xxxxxxxxxx
                                                              frsqrts.  */
-                                                          return 1429;
+                                                          return 1469;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -8969,7 +12599,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx000xxxxxxxxxxxxx
                                                  fmla.  */
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx000xxxxxxxxxxxxx
                                                  fmla.  */
-                                              return 1397;
+                                              return 1437;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -8978,7 +12608,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              111001x1xxxxxxxx000xxxxxxxxxxxxx
                                              str.  */
                                              10987654321098765432109876543210
                                              111001x1xxxxxxxx000xxxxxxxxxxxxx
                                              str.  */
-                                          return 1900;
+                                          return 1940;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -8996,7 +12626,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x1xx0xxxxx001xxxxxxxx0xxxx
                                                      cmplt.  */
                                                      10987654321098765432109876543210
                                                      001001x1xx0xxxxx001xxxxxxxx0xxxx
                                                      cmplt.  */
-                                                  return 1298;
+                                                  return 1338;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -9004,7 +12634,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x1xx0xxxxx001xxxxxxxx1xxxx
                                                      cmple.  */
                                                      10987654321098765432109876543210
                                                      001001x1xx0xxxxx001xxxxxxxx1xxxx
                                                      cmple.  */
-                                                  return 1292;
+                                                  return 1332;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -9015,7 +12645,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x10x0xxxxx001xxxxxxxxxxxxx
                                                      ld1rqw.  */
                                                      10987654321098765432109876543210
                                                      101001x10x0xxxxx001xxxxxxxxxxxxx
                                                      ld1rqw.  */
-                                                  return 1507;
+                                                  return 1547;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -9023,181 +12653,258 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x11x0xxxxx001xxxxxxxxxxxxx
                                                      ld1rqd.  */
                                                      10987654321098765432109876543210
                                                      101001x11x0xxxxx001xxxxxxxxxxxxx
                                                      ld1rqd.  */
-                                                  return 1503;
+                                                  return 1543;
                                                 }
                                             }
                                         }
                                       else
                                         {
                                                 }
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 16) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
                                             {
-                                              if (((word >> 17) & 0x1) == 0)
+                                              if (((word >> 16) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 18) & 0x1) == 0)
+                                                  if (((word >> 17) & 0x1) == 0)
                                                     {
                                                     {
-                                                      if (((word >> 19) & 0x1) == 0)
+                                                      if (((word >> 18) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 20) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 x11001x1xx000000001xxxxxxxxxxxxx
-                                                                 faddv.  */
-                                                              return 1343;
-                                                            }
-                                                          else
+                                                          if (((word >> 19) & 0x1) == 0)
                                                             {
                                                             {
-                                                              if (((word >> 4) & 0x1) == 0)
+                                                              if (((word >> 20) & 0x1) == 0)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     x11001x1xx010000001xxxxxxxx0xxxx
-                                                                     fcmge.  */
-                                                                  return 1350;
+                                                                     011001x1xx000000001xxxxxxxxxxxxx
+                                                                     faddv.  */
+                                                                  return 1383;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     x11001x1xx010000001xxxxxxxx1xxxx
-                                                                     fcmgt.  */
-                                                                  return 1352;
+                                                                  if (((word >> 4) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         011001x1xx010000001xxxxxxxx0xxxx
+                                                                         fcmge.  */
+                                                                      return 1390;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         011001x1xx010000001xxxxxxxx1xxxx
+                                                                         fcmgt.  */
+                                                                      return 1392;
+                                                                    }
                                                                 }
                                                             }
                                                                 }
                                                             }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x1xx0x1000001xxxxxxxxxxxxx
+                                                                 fadda.  */
+                                                              return 1382;
+                                                            }
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             x11001x1xx0x1000001xxxxxxxxxxxxx
-                                                             fadda.  */
-                                                          return 1342;
+                                                             011001x1xx0xx100001xxxxxxxxxxxxx
+                                                             fmaxnmv.  */
+                                                          return 1429;
                                                         }
                                                     }
                                                   else
                                                     {
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x11001x1xx0xx100001xxxxxxxxxxxxx
-                                                         fmaxnmv.  */
-                                                      return 1389;
+                                                      if (((word >> 18) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x1xx0xx010001xxxxxxxxxxxxx
+                                                             fcmeq.  */
+                                                          return 1388;
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x1xx0x0110001xxxxxxxxxxxxx
+                                                                 fmaxv.  */
+                                                              return 1430;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x1xx0x1110001xxxxxxxxxxxxx
+                                                                 frecpe.  */
+                                                              return 1458;
+                                                            }
+                                                        }
                                                     }
                                                 }
                                               else
                                                 {
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 18) & 0x1) == 0)
+                                                  if (((word >> 17) & 0x1) == 0)
                                                     {
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x11001x1xx0xx010001xxxxxxxxxxxxx
-                                                         fcmeq.  */
-                                                      return 1348;
+                                                      if (((word >> 18) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 4) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x1xx0xx001001xxxxxxxx0xxxx
+                                                                 fcmlt.  */
+                                                              return 1395;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x1xx0xx001001xxxxxxxx1xxxx
+                                                                 fcmle.  */
+                                                              return 1394;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x1xx0xx101001xxxxxxxxxxxxx
+                                                             fminnmv.  */
+                                                          return 1435;
+                                                        }
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 19) & 0x1) == 0)
+                                                      if (((word >> 18) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             x11001x1xx0x0110001xxxxxxxxxxxxx
-                                                             fmaxv.  */
-                                                          return 1390;
+                                                             011001x1xx0xx011001xxxxxxxxxxxxx
+                                                             fcmne.  */
+                                                          return 1396;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             x11001x1xx0x1110001xxxxxxxxxxxxx
-                                                             frecpe.  */
-                                                          return 1418;
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x1xx0x0111001xxxxxxxxxxxxx
+                                                                 fminv.  */
+                                                              return 1436;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x1xx0x1111001xxxxxxxxxxxxx
+                                                                 frsqrte.  */
+                                                              return 1468;
+                                                            }
                                                         }
                                                     }
                                                 }
                                             }
                                           else
                                             {
                                                         }
                                                     }
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 17) & 0x1) == 0)
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
                                                 {
-                                                  if (((word >> 18) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
                                                     {
-                                                      if (((word >> 4) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             x11001x1xx0xx001001xxxxxxxx0xxxx
-                                                             fcmlt.  */
-                                                          return 1355;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             x11001x1xx0xx001001xxxxxxxx1xxxx
-                                                             fcmle.  */
-                                                          return 1354;
-                                                        }
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x1000xxxxx001xxxxxxxxxxxxx
+                                                         stnt1w.  */
+                                                      return 2244;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x1100xxxxx001xxxxxxxxxxxxx
+                                                         stnt1d.  */
+                                                      return 2240;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     111001x1x10xxxxx001xxxxxxxxxxxxx
+                                                     stnt1w.  */
+                                                  return 2243;
+                                                }
+                                            }
+                                        }
+                                    }
+                                  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 1353;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         x11001x1xx0xx101001xxxxxxxxxxxxx
-                                                         fminnmv.  */
-                                                      return 1395;
+                                                         001001x1xx1xxxxx0011xxxxxxx0xxxx
+                                                         whilewr.  */
+                                                      return 2322;
                                                     }
                                                 }
                                               else
                                                 {
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 18) & 0x1) == 0)
+                                                  if (((word >> 12) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         x11001x1xx0xx011001xxxxxxxxxxxxx
-                                                         fcmne.  */
-                                                      return 1356;
+                                                         001001x1xx1xxxxx0010xxxxxxx1xxxx
+                                                         ctermne.  */
+                                                      return 1354;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 19) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             x11001x1xx0x0111001xxxxxxxxxxxxx
-                                                             fminv.  */
-                                                          return 1396;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             x11001x1xx0x1111001xxxxxxxxxxxxx
-                                                             frsqrte.  */
-                                                          return 1428;
-                                                        }
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         001001x1xx1xxxxx0011xxxxxxx1xxxx
+                                                         whilerw.  */
+                                                      return 2321;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 30) & 0x1) == 0)
-                                        {
-                                          if (((word >> 4) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x01001x1xx1xxxxx001xxxxxxxx0xxxx
-                                                 ctermeq.  */
-                                              return 1313;
-                                            }
                                           else
                                             {
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 x01001x1xx1xxxxx001xxxxxxxx1xxxx
-                                                 ctermne.  */
-                                              return 1314;
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x10x1xxxxx001xxxxxxxxxxxxx
+                                                     ld1row.  */
+                                                  return 2405;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x11x1xxxxx001xxxxxxxxxxxxx
+                                                     ld1rod.  */
+                                                  return 2406;
+                                                }
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -9206,7 +12913,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x11001x1xx1xxxxx001xxxxxxxxxxxxx
                                              fmls.  */
                                              10987654321098765432109876543210
                                              x11001x1xx1xxxxx001xxxxxxxxxxxxx
                                              fmls.  */
-                                          return 1401;
+                                          return 1441;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -9233,7 +12940,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x10000xxxx01xxxx0xxxx0xxxx
                                                                  and.  */
                                                                  10987654321098765432109876543210
                                                                  001001x10000xxxx01xxxx0xxxx0xxxx
                                                                  and.  */
-                                                              return 1244;
+                                                              return 1284;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -9241,7 +12948,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x10000xxxx01xxxx0xxxx1xxxx
                                                                  bic.  */
                                                                  10987654321098765432109876543210
                                                                  001001x10000xxxx01xxxx0xxxx1xxxx
                                                                  bic.  */
-                                                              return 1256;
+                                                              return 1296;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -9252,7 +12959,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x100010xxx01xxxx0xxxxxxxxx
                                                                  brka.  */
                                                                  10987654321098765432109876543210
                                                                  001001x100010xxx01xxxx0xxxxxxxxx
                                                                  brka.  */
-                                                              return 1258;
+                                                              return 1298;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -9260,7 +12967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x100011xxx01xxxx0xxxxxxxxx
                                                                  brkn.  */
                                                                  10987654321098765432109876543210
                                                                  001001x100011xxx01xxxx0xxxxxxxxx
                                                                  brkn.  */
-                                                              return 1262;
+                                                              return 1302;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -9272,7 +12979,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1000xxxxx01xxxx1xxxx0xxxx
                                                              eor.  */
                                                              10987654321098765432109876543210
                                                              001001x1000xxxxx01xxxx1xxxx0xxxx
                                                              eor.  */
-                                                          return 1331;
+                                                          return 1371;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -9280,7 +12987,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1000xxxxx01xxxx1xxxx1xxxx
                                                              sel.  */
                                                              10987654321098765432109876543210
                                                              001001x1000xxxxx01xxxx1xxxx1xxxx
                                                              sel.  */
-                                                          return 1780;
+                                                          return 1820;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -9292,7 +12999,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1000xxxxx010xxxxxxxxxxxxx
                                                          ld1sh.  */
                                                          10987654321098765432109876543210
                                                          101001x1000xxxxx010xxxxxxxxxxxxx
                                                          ld1sh.  */
-                                                      return 1530;
+                                                      return 1570;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -9300,7 +13007,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1000xxxxx011xxxxxxxxxxxxx
                                                          ldff1sh.  */
                                                          10987654321098765432109876543210
                                                          101001x1000xxxxx011xxxxxxxxxxxxx
                                                          ldff1sh.  */
-                                                      return 1630;
+                                                      return 1670;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -9318,7 +13025,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x11000xxxx01xxxx0xxxx0xxxx
                                                                  orr.  */
                                                                  10987654321098765432109876543210
                                                                  001001x11000xxxx01xxxx0xxxx0xxxx
                                                                  orr.  */
-                                                              return 1716;
+                                                              return 1756;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -9326,7 +13033,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x11000xxxx01xxxx0xxxx1xxxx
                                                                  orn.  */
                                                                  10987654321098765432109876543210
                                                                  001001x11000xxxx01xxxx0xxxx1xxxx
                                                                  orn.  */
-                                                              return 1711;
+                                                              return 1751;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -9335,7 +13042,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x11001xxxx01xxxx0xxxxxxxxx
                                                              brkb.  */
                                                              10987654321098765432109876543210
                                                              001001x11001xxxx01xxxx0xxxxxxxxx
                                                              brkb.  */
-                                                          return 1260;
+                                                          return 1300;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -9346,7 +13053,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1100xxxxx01xxxx1xxxx0xxxx
                                                              nor.  */
                                                              10987654321098765432109876543210
                                                              001001x1100xxxxx01xxxx1xxxx0xxxx
                                                              nor.  */
-                                                          return 1708;
+                                                          return 1748;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -9354,7 +13061,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1100xxxxx01xxxx1xxxx1xxxx
                                                              nand.  */
                                                              10987654321098765432109876543210
                                                              001001x1100xxxxx01xxxx1xxxx1xxxx
                                                              nand.  */
-                                                          return 1705;
+                                                          return 1745;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -9366,7 +13073,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1100xxxxx010xxxxxxxxxxxxx
                                                          ld1sb.  */
                                                          10987654321098765432109876543210
                                                          101001x1100xxxxx010xxxxxxxxxxxxx
                                                          ld1sb.  */
-                                                      return 1518;
+                                                      return 1558;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -9374,7 +13081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1100xxxxx011xxxxxxxxxxxxx
                                                          ldff1sb.  */
                                                          10987654321098765432109876543210
                                                          101001x1100xxxxx011xxxxxxxxxxxxx
                                                          ldff1sb.  */
-                                                      return 1618;
+                                                      return 1658;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -9395,7 +13102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x10100xxxx01xxxx0xxxx0xxxx
                                                                  ands.  */
                                                                  10987654321098765432109876543210
                                                                  001001x10100xxxx01xxxx0xxxx0xxxx
                                                                  ands.  */
-                                                              return 1245;
+                                                              return 1285;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -9405,7 +13112,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x101010xxx01xxxx0xxxx0xxxx
                                                                      brkas.  */
                                                                      10987654321098765432109876543210
                                                                      001001x101010xxx01xxxx0xxxx0xxxx
                                                                      brkas.  */
-                                                                  return 1259;
+                                                                  return 1299;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -9413,7 +13120,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x101011xxx01xxxx0xxxx0xxxx
                                                                      brkns.  */
                                                                      10987654321098765432109876543210
                                                                      001001x101011xxx01xxxx0xxxx0xxxx
                                                                      brkns.  */
-                                                                  return 1263;
+                                                                  return 1303;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -9423,7 +13130,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1010xxxxx01xxxx1xxxx0xxxx
                                                              eors.  */
                                                              10987654321098765432109876543210
                                                              001001x1010xxxxx01xxxx1xxxx0xxxx
                                                              eors.  */
-                                                          return 1332;
+                                                          return 1372;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -9432,7 +13139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          001001x1010xxxxx01xxxxxxxxx1xxxx
                                                          bics.  */
                                                          10987654321098765432109876543210
                                                          001001x1010xxxxx01xxxxxxxxx1xxxx
                                                          bics.  */
-                                                      return 1257;
+                                                      return 1297;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -9443,7 +13150,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1010xxxxx010xxxxxxxxxxxxx
                                                          ld1w.  */
                                                          10987654321098765432109876543210
                                                          101001x1010xxxxx010xxxxxxxxxxxxx
                                                          ld1w.  */
-                                                      return 1549;
+                                                      return 1589;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -9451,7 +13158,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1010xxxxx011xxxxxxxxxxxxx
                                                          ldff1w.  */
                                                          10987654321098765432109876543210
                                                          101001x1010xxxxx011xxxxxxxxxxxxx
                                                          ldff1w.  */
-                                                      return 1649;
+                                                      return 1689;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -9469,7 +13176,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x11100xxxx01xxxx0xxxx0xxxx
                                                                  orrs.  */
                                                                  10987654321098765432109876543210
                                                                  001001x11100xxxx01xxxx0xxxx0xxxx
                                                                  orrs.  */
-                                                              return 1717;
+                                                              return 1757;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -9477,7 +13184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x11101xxxx01xxxx0xxxx0xxxx
                                                                  brkbs.  */
                                                                  10987654321098765432109876543210
                                                                  001001x11101xxxx01xxxx0xxxx0xxxx
                                                                  brkbs.  */
-                                                              return 1261;
+                                                              return 1301;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -9486,7 +13193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1110xxxxx01xxxx1xxxx0xxxx
                                                              nors.  */
                                                              10987654321098765432109876543210
                                                              001001x1110xxxxx01xxxx1xxxx0xxxx
                                                              nors.  */
-                                                          return 1709;
+                                                          return 1749;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -9497,7 +13204,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1110xxxxx01xxxx0xxxx1xxxx
                                                              orns.  */
                                                              10987654321098765432109876543210
                                                              001001x1110xxxxx01xxxx0xxxx1xxxx
                                                              orns.  */
-                                                          return 1712;
+                                                          return 1752;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -9505,7 +13212,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1110xxxxx01xxxx1xxxx1xxxx
                                                              nands.  */
                                                              10987654321098765432109876543210
                                                              001001x1110xxxxx01xxxx1xxxx1xxxx
                                                              nands.  */
-                                                          return 1706;
+                                                          return 1746;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -9517,7 +13224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1110xxxxx010xxxxxxxxxxxxx
                                                          ld1sb.  */
                                                          10987654321098765432109876543210
                                                          101001x1110xxxxx010xxxxxxxxxxxxx
                                                          ld1sb.  */
-                                                      return 1520;
+                                                      return 1560;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -9525,7 +13232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1110xxxxx011xxxxxxxxxxxxx
                                                          ldff1sb.  */
                                                          10987654321098765432109876543210
                                                          101001x1110xxxxx011xxxxxxxxxxxxx
                                                          ldff1sb.  */
-                                                      return 1622;
+                                                      return 1662;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -9543,7 +13250,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x1001xxxxx010xxxxxxxxxxxxx
                                                      ld1sh.  */
                                                      10987654321098765432109876543210
                                                      x01001x1001xxxxx010xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1531;
+                                                  return 1571;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -9551,7 +13258,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x1101xxxxx010xxxxxxxxxxxxx
                                                      ld1sb.  */
                                                      10987654321098765432109876543210
                                                      x01001x1101xxxxx010xxxxxxxxxxxxx
                                                      ld1sb.  */
-                                                  return 1519;
+                                                  return 1559;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -9562,7 +13269,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x1011xxxxx010xxxxxxxxxxxxx
                                                      ld1w.  */
                                                      10987654321098765432109876543210
                                                      x01001x1011xxxxx010xxxxxxxxxxxxx
                                                      ld1w.  */
-                                                  return 1550;
+                                                  return 1590;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -9570,7 +13277,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x1111xxxxx010xxxxxxxxxxxxx
                                                      ld1d.  */
                                                      10987654321098765432109876543210
                                                      x01001x1111xxxxx010xxxxxxxxxxxxx
                                                      ld1d.  */
-                                                  return 1472;
+                                                  return 1512;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -9584,7 +13291,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x1001xxxxx011xxxxxxxxxxxxx
                                                      ldff1sh.  */
                                                      10987654321098765432109876543210
                                                      x01001x1001xxxxx011xxxxxxxxxxxxx
                                                      ldff1sh.  */
-                                                  return 1632;
+                                                  return 1672;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -9592,7 +13299,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x1101xxxxx011xxxxxxxxxxxxx
                                                      ldff1sb.  */
                                                      10987654321098765432109876543210
                                                      x01001x1101xxxxx011xxxxxxxxxxxxx
                                                      ldff1sb.  */
-                                                  return 1620;
+                                                  return 1660;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -9603,7 +13310,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x1011xxxxx011xxxxxxxxxxxxx
                                                      ldff1w.  */
                                                      10987654321098765432109876543210
                                                      x01001x1011xxxxx011xxxxxxxxxxxxx
                                                      ldff1w.  */
-                                                  return 1651;
+                                                  return 1691;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -9611,7 +13318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x1111xxxxx011xxxxxxxxxxxxx
                                                      ldff1d.  */
                                                      10987654321098765432109876543210
                                                      x01001x1111xxxxx011xxxxxxxxxxxxx
                                                      ldff1d.  */
-                                                  return 1596;
+                                                  return 1636;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -9631,7 +13338,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx010xxxxxxxx0xxxx
                                                      fcmge.  */
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx010xxxxxxxx0xxxx
                                                      fcmge.  */
-                                                  return 1351;
+                                                  return 1391;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -9639,7 +13346,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx010xxxxxxxx1xxxx
                                                      fcmgt.  */
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx010xxxxxxxx1xxxx
                                                      fcmgt.  */
-                                                  return 1353;
+                                                  return 1393;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -9648,7 +13355,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx010xxxxxxxxxxxxx
                                                  fnmla.  */
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx010xxxxxxxxxxxxx
                                                  fnmla.  */
-                                              return 1415;
+                                              return 1455;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -9659,7 +13366,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  111001x1x0xxxxxx010xxxxxxxxxxxxx
                                                  str.  */
                                                  10987654321098765432109876543210
                                                  111001x1x0xxxxxx010xxxxxxxxxxxxx
                                                  str.  */
-                                              return 1901;
+                                              return 1941;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -9669,7 +13376,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x1x10xxxxx010xxxxxxxxxxxxx
                                                      st1w.  */
                                                      10987654321098765432109876543210
                                                      111001x1x10xxxxx010xxxxxxxxxxxxx
                                                      st1w.  */
-                                                  return 1860;
+                                                  return 1900;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -9679,7 +13386,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1011xxxxx010xxxxxxxxxxxxx
                                                          st1w.  */
                                                          10987654321098765432109876543210
                                                          111001x1011xxxxx010xxxxxxxxxxxxx
                                                          st1w.  */
-                                                      return 1862;
+                                                      return 1902;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -9687,7 +13394,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1111xxxxx010xxxxxxxxxxxxx
                                                          st1d.  */
                                                          10987654321098765432109876543210
                                                          111001x1111xxxxx010xxxxxxxxxxxxx
                                                          st1d.  */
-                                                      return 1839;
+                                                      return 1879;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -9705,7 +13412,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx011xxxxxxxx0xxxx
                                                      fcmeq.  */
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx011xxxxxxxx0xxxx
                                                      fcmeq.  */
-                                                  return 1349;
+                                                  return 1389;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -9713,7 +13420,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx011xxxxxxxx1xxxx
                                                      fcmne.  */
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx011xxxxxxxx1xxxx
                                                      fcmne.  */
-                                                  return 1357;
+                                                  return 1397;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -9726,7 +13433,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1000xxxxx011xxxxxxxxxxxxx
                                                          stnt1w.  */
                                                          10987654321098765432109876543210
                                                          111001x1000xxxxx011xxxxxxxxxxxxx
                                                          stnt1w.  */
-                                                      return 1898;
+                                                      return 1938;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -9734,7 +13441,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1100xxxxx011xxxxxxxxxxxxx
                                                          stnt1d.  */
                                                          10987654321098765432109876543210
                                                          111001x1100xxxxx011xxxxxxxxxxxxx
                                                          stnt1d.  */
-                                                      return 1894;
+                                                      return 1934;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -9745,7 +13452,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1010xxxxx011xxxxxxxxxxxxx
                                                          st3w.  */
                                                          10987654321098765432109876543210
                                                          111001x1010xxxxx011xxxxxxxxxxxxx
                                                          st3w.  */
-                                                      return 1882;
+                                                      return 1922;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -9753,7 +13460,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1110xxxxx011xxxxxxxxxxxxx
                                                          st3d.  */
                                                          10987654321098765432109876543210
                                                          111001x1110xxxxx011xxxxxxxxxxxxx
                                                          st3d.  */
-                                                      return 1878;
+                                                      return 1918;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -9766,7 +13473,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx011xxxxxxxxxxxxx
                                                  fnmls.  */
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx011xxxxxxxxxxxxx
                                                  fnmls.  */
-                                              return 1416;
+                                              return 1456;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -9778,7 +13485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1001xxxxx011xxxxxxxxxxxxx
                                                          st2w.  */
                                                          10987654321098765432109876543210
                                                          111001x1001xxxxx011xxxxxxxxxxxxx
                                                          st2w.  */
-                                                      return 1874;
+                                                      return 1914;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -9786,7 +13493,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1101xxxxx011xxxxxxxxxxxxx
                                                          st2d.  */
                                                          10987654321098765432109876543210
                                                          111001x1101xxxxx011xxxxxxxxxxxxx
                                                          st2d.  */
-                                                      return 1870;
+                                                      return 1910;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -9797,7 +13504,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1011xxxxx011xxxxxxxxxxxxx
                                                          st4w.  */
                                                          10987654321098765432109876543210
                                                          111001x1011xxxxx011xxxxxxxxxxxxx
                                                          st4w.  */
-                                                      return 1890;
+                                                      return 1930;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -9805,7 +13512,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1111xxxxx011xxxxxxxxxxxxx
                                                          st4d.  */
                                                          10987654321098765432109876543210
                                                          111001x1111xxxxx011xxxxxxxxxxxxx
                                                          st4d.  */
-                                                      return 1886;
+                                                      return 1926;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -9830,7 +13537,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x01001x1xx0xxxxx100xxxxxxxx0xxxx
                                                  cmpeq.  */
                                                  10987654321098765432109876543210
                                                  x01001x1xx0xxxxx100xxxxxxxx0xxxx
                                                  cmpeq.  */
-                                              return 1278;
+                                              return 1318;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -9838,7 +13545,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x01001x1xx0xxxxx100xxxxxxxx1xxxx
                                                  cmpne.  */
                                                  10987654321098765432109876543210
                                                  x01001x1xx0xxxxx100xxxxxxxx1xxxx
                                                  cmpne.  */
-                                              return 1301;
+                                              return 1341;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -9853,7 +13560,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x10000xxxx101xxxxxxxxxxxxx
                                                          ld1sh.  */
                                                          10987654321098765432109876543210
                                                          x01001x10000xxxx101xxxxxxxxxxxxx
                                                          ld1sh.  */
-                                                      return 1537;
+                                                      return 1577;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -9861,7 +13568,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x11000xxxx101xxxxxxxxxxxxx
                                                          ld1sb.  */
                                                          10987654321098765432109876543210
                                                          x01001x11000xxxx101xxxxxxxxxxxxx
                                                          ld1sb.  */
-                                                      return 1524;
+                                                      return 1564;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -9872,7 +13579,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x10100xxxx101xxxxxxxxxxxxx
                                                          ld1w.  */
                                                          10987654321098765432109876543210
                                                          x01001x10100xxxx101xxxxxxxxxxxxx
                                                          ld1w.  */
-                                                      return 1556;
+                                                      return 1596;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -9880,7 +13587,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x11100xxxx101xxxxxxxxxxxxx
                                                          ld1sb.  */
                                                          10987654321098765432109876543210
                                                          x01001x11100xxxx101xxxxxxxxxxxxx
                                                          ld1sb.  */
-                                                      return 1526;
+                                                      return 1566;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -9894,7 +13601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x10001xxxx101xxxxxxxxxxxxx
                                                          ldnf1sh.  */
                                                          10987654321098765432109876543210
                                                          x01001x10001xxxx101xxxxxxxxxxxxx
                                                          ldnf1sh.  */
-                                                      return 1670;
+                                                      return 1710;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -9902,7 +13609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x11001xxxx101xxxxxxxxxxxxx
                                                          ldnf1sb.  */
                                                          10987654321098765432109876543210
                                                          x01001x11001xxxx101xxxxxxxxxxxxx
                                                          ldnf1sb.  */
-                                                      return 1667;
+                                                      return 1707;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -9913,7 +13620,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x10101xxxx101xxxxxxxxxxxxx
                                                          ldnf1w.  */
                                                          10987654321098765432109876543210
                                                          x01001x10101xxxx101xxxxxxxxxxxxx
                                                          ldnf1w.  */
-                                                      return 1673;
+                                                      return 1713;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -9921,7 +13628,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x01001x11101xxxx101xxxxxxxxxxxxx
                                                          ldnf1sb.  */
                                                          10987654321098765432109876543210
                                                          x01001x11101xxxx101xxxxxxxxxxxxx
                                                          ldnf1sb.  */
-                                                      return 1669;
+                                                      return 1709;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -9941,7 +13648,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          001001x1x000xxxx11xxxxxxxxx0xxxx
                                                          brkpa.  */
                                                          10987654321098765432109876543210
                                                          001001x1x000xxxx11xxxxxxxxx0xxxx
                                                          brkpa.  */
-                                                      return 1264;
+                                                      return 1304;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -9949,7 +13656,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          001001x1x100xxxx11xxxxxxxxx0xxxx
                                                          brkpas.  */
                                                          10987654321098765432109876543210
                                                          001001x1x100xxxx11xxxxxxxxx0xxxx
                                                          brkpas.  */
-                                                      return 1265;
+                                                      return 1305;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -9962,7 +13669,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1xx010xx011xxxxxxxxx0xxxx
                                                              ptest.  */
                                                              10987654321098765432109876543210
                                                              001001x1xx010xx011xxxxxxxxx0xxxx
                                                              ptest.  */
-                                                          return 1750;
+                                                          return 1790;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -9976,7 +13683,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          001001x1xx011xx01100x0xxxxx0xxxx
                                                                          pfirst.  */
                                                                          10987654321098765432109876543210
                                                                          001001x1xx011xx01100x0xxxxx0xxxx
                                                                          pfirst.  */
-                                                                      return 1720;
+                                                                      return 1760;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -9984,7 +13691,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          001001x1xx011xx01110x0xxxxx0xxxx
                                                                          ptrue.  */
                                                                          10987654321098765432109876543210
                                                                          001001x1xx011xx01110x0xxxxx0xxxx
                                                                          ptrue.  */
-                                                                      return 1751;
+                                                                      return 1791;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -9995,7 +13702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          001001x1x0011xx011x1x0xxxxx0xxxx
                                                                          rdffr.  */
                                                                          10987654321098765432109876543210
                                                                          001001x1x0011xx011x1x0xxxxx0xxxx
                                                                          rdffr.  */
-                                                                      return 1757;
+                                                                      return 1797;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -10003,7 +13710,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          001001x1x1011xx011x1x0xxxxx0xxxx
                                                                          rdffrs.  */
                                                                          10987654321098765432109876543210
                                                                          001001x1x1011xx011x1x0xxxxx0xxxx
                                                                          rdffrs.  */
-                                                                      return 1758;
+                                                                      return 1798;
                                                                     }
                                                                 }
                                                             }
                                                                     }
                                                                 }
                                                             }
@@ -10013,7 +13720,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx011xx011xxx1xxxxx0xxxx
                                                                  pfalse.  */
                                                                  10987654321098765432109876543210
                                                                  001001x1xx011xx011xxx1xxxxx0xxxx
                                                                  pfalse.  */
-                                                              return 1719;
+                                                              return 1759;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -10027,7 +13734,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx01xxx111x0x0xxxxx0xxxx
                                                                  ptrues.  */
                                                                  10987654321098765432109876543210
                                                                  001001x1xx01xxx111x0x0xxxxx0xxxx
                                                                  ptrues.  */
-                                                              return 1752;
+                                                              return 1792;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -10035,7 +13742,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx01xxx111x1x0xxxxx0xxxx
                                                                  rdffr.  */
                                                                  10987654321098765432109876543210
                                                                  001001x1xx01xxx111x1x0xxxxx0xxxx
                                                                  rdffr.  */
-                                                              return 1756;
+                                                              return 1796;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -10044,7 +13751,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1xx01xxx111xxx1xxxxx0xxxx
                                                              pnext.  */
                                                              10987654321098765432109876543210
                                                              001001x1xx01xxx111xxx1xxxxx0xxxx
                                                              pnext.  */
-                                                          return 1721;
+                                                          return 1761;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -10057,7 +13764,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x1x00xxxxx11xxxxxxxxx1xxxx
                                                      brkpb.  */
                                                      10987654321098765432109876543210
                                                      001001x1x00xxxxx11xxxxxxxxx1xxxx
                                                      brkpb.  */
-                                                  return 1266;
+                                                  return 1306;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -10065,7 +13772,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      001001x1x10xxxxx11xxxxxxxxx1xxxx
                                                      brkpbs.  */
                                                      10987654321098765432109876543210
                                                      001001x1x10xxxxx11xxxxxxxxx1xxxx
                                                      brkpbs.  */
-                                                  return 1267;
+                                                  return 1307;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -10081,7 +13788,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1000xxxxx110xxxxxxxxxxxxx
                                                          ldnt1w.  */
                                                          10987654321098765432109876543210
                                                          101001x1000xxxxx110xxxxxxxxxxxxx
                                                          ldnt1w.  */
-                                                      return 1681;
+                                                      return 1721;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -10089,7 +13796,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1100xxxxx110xxxxxxxxxxxxx
                                                          ldnt1d.  */
                                                          10987654321098765432109876543210
                                                          101001x1100xxxxx110xxxxxxxxxxxxx
                                                          ldnt1d.  */
-                                                      return 1677;
+                                                      return 1717;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -10100,7 +13807,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1010xxxxx110xxxxxxxxxxxxx
                                                          ld3w.  */
                                                          10987654321098765432109876543210
                                                          101001x1010xxxxx110xxxxxxxxxxxxx
                                                          ld3w.  */
-                                                      return 1573;
+                                                      return 1613;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -10108,7 +13815,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1110xxxxx110xxxxxxxxxxxxx
                                                          ld3d.  */
                                                          10987654321098765432109876543210
                                                          101001x1110xxxxx110xxxxxxxxxxxxx
                                                          ld3d.  */
-                                                      return 1569;
+                                                      return 1609;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -10122,7 +13829,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1000xxxxx111xxxxxxxxxxxxx
                                                          ldnt1w.  */
                                                          10987654321098765432109876543210
                                                          101001x1000xxxxx111xxxxxxxxxxxxx
                                                          ldnt1w.  */
-                                                      return 1682;
+                                                      return 1722;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -10130,7 +13837,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1100xxxxx111xxxxxxxxxxxxx
                                                          ldnt1d.  */
                                                          10987654321098765432109876543210
                                                          101001x1100xxxxx111xxxxxxxxxxxxx
                                                          ldnt1d.  */
-                                                      return 1678;
+                                                      return 1718;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -10141,7 +13848,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1010xxxxx111xxxxxxxxxxxxx
                                                          ld3w.  */
                                                          10987654321098765432109876543210
                                                          101001x1010xxxxx111xxxxxxxxxxxxx
                                                          ld3w.  */
-                                                      return 1574;
+                                                      return 1614;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -10149,7 +13856,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1110xxxxx111xxxxxxxxxxxxx
                                                          ld3d.  */
                                                          10987654321098765432109876543210
                                                          101001x1110xxxxx111xxxxxxxxxxxxx
                                                          ld3d.  */
-                                                      return 1570;
+                                                      return 1610;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -10178,7 +13885,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000000100xxxxxxxxxxxxx
                                                                      fadd.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000000100xxxxxxxxxxxxx
                                                                      fadd.  */
-                                                                  return 1340;
+                                                                  return 1380;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10186,7 +13893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000100100xxxxxxxxxxxxx
                                                                      fmaxnm.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000100100xxxxxxxxxxxxx
                                                                      fmaxnm.  */
-                                                                  return 1387;
+                                                                  return 1427;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -10197,7 +13904,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000010100xxxxxxxxxxxxx
                                                                      fmul.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000010100xxxxxxxxxxxxx
                                                                      fmul.  */
-                                                                  return 1407;
+                                                                  return 1447;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10205,7 +13912,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000110100xxxxxxxxxxxxx
                                                                      fmax.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000110100xxxxxxxxxxxxx
                                                                      fmax.  */
-                                                                  return 1385;
+                                                                  return 1425;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -10219,7 +13926,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000001100xxxxxxxxxxxxx
                                                                      fsub.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000001100xxxxxxxxxxxxx
                                                                      fsub.  */
-                                                                  return 1433;
+                                                                  return 1473;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10227,7 +13934,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000101100xxxxxxxxxxxxx
                                                                      fminnm.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000101100xxxxxxxxxxxxx
                                                                      fminnm.  */
-                                                                  return 1393;
+                                                                  return 1433;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -10238,7 +13945,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000011100xxxxxxxxxxxxx
                                                                      fsubr.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000011100xxxxxxxxxxxxx
                                                                      fsubr.  */
-                                                                  return 1435;
+                                                                  return 1475;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10246,7 +13953,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000111100xxxxxxxxxxxxx
                                                                      fmin.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000111100xxxxxxxxxxxxx
                                                                      fmin.  */
-                                                                  return 1391;
+                                                                  return 1431;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -10257,7 +13964,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x1xx010xxx100xxxxxxxxxxxxx
                                                          ftmad.  */
                                                          10987654321098765432109876543210
                                                          011001x1xx010xxx100xxxxxxxxxxxxx
                                                          ftmad.  */
-                                                      return 1437;
+                                                      return 1477;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -10274,7 +13981,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001000100xxxxxxxxxxxxx
                                                                      fabd.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001000100xxxxxxxxxxxxx
                                                                      fabd.  */
-                                                                  return 1335;
+                                                                  return 1375;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10282,7 +13989,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011000100xxxxxxxxxxxxx
                                                                      fadd.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011000100xxxxxxxxxxxxx
                                                                      fadd.  */
-                                                                  return 1341;
+                                                                  return 1381;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -10293,7 +14000,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001100100xxxxxxxxxxxxx
                                                                      fdivr.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001100100xxxxxxxxxxxxx
                                                                      fdivr.  */
-                                                                  return 1381;
+                                                                  return 1421;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10301,7 +14008,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011100100xxxxxxxxxxxxx
                                                                      fmaxnm.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011100100xxxxxxxxxxxxx
                                                                      fmaxnm.  */
-                                                                  return 1388;
+                                                                  return 1428;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -10315,7 +14022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001010100xxxxxxxxxxxxx
                                                                      fmulx.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001010100xxxxxxxxxxxxx
                                                                      fmulx.  */
-                                                                  return 1412;
+                                                                  return 1452;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10323,7 +14030,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011010100xxxxxxxxxxxxx
                                                                      fmul.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011010100xxxxxxxxxxxxx
                                                                      fmul.  */
-                                                                  return 1408;
+                                                                  return 1448;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -10332,7 +14039,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  011001x1xx0x1110100xxxxxxxxxxxxx
                                                                  fmax.  */
                                                                  10987654321098765432109876543210
                                                                  011001x1xx0x1110100xxxxxxxxxxxxx
                                                                  fmax.  */
-                                                              return 1386;
+                                                              return 1426;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -10348,7 +14055,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001001100xxxxxxxxxxxxx
                                                                      fscale.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001001100xxxxxxxxxxxxx
                                                                      fscale.  */
-                                                                  return 1430;
+                                                                  return 1470;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10356,7 +14063,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011001100xxxxxxxxxxxxx
                                                                      fsub.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011001100xxxxxxxxxxxxx
                                                                      fsub.  */
-                                                                  return 1434;
+                                                                  return 1474;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -10367,7 +14074,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001101100xxxxxxxxxxxxx
                                                                      fdiv.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001101100xxxxxxxxxxxxx
                                                                      fdiv.  */
-                                                                  return 1380;
+                                                                  return 1420;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10375,7 +14082,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011101100xxxxxxxxxxxxx
                                                                      fminnm.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011101100xxxxxxxxxxxxx
                                                                      fminnm.  */
-                                                                  return 1394;
+                                                                  return 1434;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -10387,7 +14094,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  011001x1xx0x1011100xxxxxxxxxxxxx
                                                                  fsubr.  */
                                                                  10987654321098765432109876543210
                                                                  011001x1xx0x1011100xxxxxxxxxxxxx
                                                                  fsubr.  */
-                                                              return 1436;
+                                                              return 1476;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -10395,7 +14102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  011001x1xx0x1111100xxxxxxxxxxxxx
                                                                  fmin.  */
                                                                  10987654321098765432109876543210
                                                                  011001x1xx0x1111100xxxxxxxxxxxxx
                                                                  fmin.  */
-                                                              return 1392;
+                                                              return 1432;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -10409,7 +14116,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx110xxxxxxxx0xxxx
                                                      fcmuo.  */
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx110xxxxxxxx0xxxx
                                                      fcmuo.  */
-                                                  return 1358;
+                                                  return 1398;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -10417,7 +14124,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx110xxxxxxxx1xxxx
                                                      facge.  */
                                                      10987654321098765432109876543210
                                                      011001x1xx0xxxxx110xxxxxxxx1xxxx
                                                      facge.  */
-                                                  return 1337;
+                                                  return 1377;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -10431,7 +14138,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x1000xxxxx1x0xxxxxxxxxxxxx
                                                      st1w.  */
                                                      10987654321098765432109876543210
                                                      111001x1000xxxxx1x0xxxxxxxxxxxxx
                                                      st1w.  */
-                                                  return 1856;
+                                                  return 1896;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -10439,7 +14146,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x1100xxxxx1x0xxxxxxxxxxxxx
                                                      st1d.  */
                                                      10987654321098765432109876543210
                                                      111001x1100xxxxx1x0xxxxxxxxxxxxx
                                                      st1d.  */
-                                                  return 1835;
+                                                  return 1875;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -10448,7 +14155,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  111001x1x10xxxxx1x0xxxxxxxxxxxxx
                                                  st1w.  */
                                                  10987654321098765432109876543210
                                                  111001x1x10xxxxx1x0xxxxxxxxxxxxx
                                                  st1w.  */
-                                              return 1861;
+                                              return 1901;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -10460,11 +14167,11 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               if (((word >> 16) & 0x1) == 0)
                                                 {
                                             {
                                               if (((word >> 16) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 17) & 0x1) == 0)
+                                                  if (((word >> 19) & 0x1) == 0)
                                                     {
                                                     {
-                                                      if (((word >> 18) & 0x1) == 0)
+                                                      if (((word >> 17) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 19) & 0x1) == 0)
+                                                          if (((word >> 18) & 0x1) == 0)
                                                             {
                                                               if (((word >> 20) & 0x1) == 0)
                                                                 {
                                                             {
                                                               if (((word >> 20) & 0x1) == 0)
                                                                 {
@@ -10472,7 +14179,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000000101xxxxxxxxxxxxx
                                                                      frintn.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000000101xxxxxxxxxxxxx
                                                                      frintn.  */
-                                                                  return 1424;
+                                                                  return 1464;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10480,43 +14187,10 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx010000101xxxxxxxxxxxxx
                                                                      scvtf.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx010000101xxxxxxxxxxxxx
                                                                      scvtf.  */
-                                                                  return 1770;
+                                                                  return 1810;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
-                                                            {
-                                                              if (((word >> 20) & 0x1) == 0)
-                                                                {
-                                                                  if (((word >> 22) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         011001x1x0001000101xxxxxxxxxxxxx
-                                                                         fcvt.  */
-                                                                      return 1360;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         011001x1x1001000101xxxxxxxxxxxxx
-                                                                         fcvt.  */
-                                                                      return 1362;
-                                                                    }
-                                                                }
-                                                              else
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     011001x1xx011000101xxxxxxxxxxxxx
-                                                                     fcvtzs.  */
-                                                                  return 1370;
-                                                                }
-                                                            }
-                                                        }
-                                                      else
-                                                        {
-                                                          if (((word >> 19) & 0x1) == 0)
                                                             {
                                                               if (((word >> 20) & 0x1) == 0)
                                                                 {
                                                             {
                                                               if (((word >> 20) & 0x1) == 0)
                                                                 {
@@ -10524,7 +14198,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000100101xxxxxxxxxxxxx
                                                                      frinta.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000100101xxxxxxxxxxxxx
                                                                      frinta.  */
-                                                                  return 1421;
+                                                                  return 1461;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10534,7 +14208,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1x0010100101xxxxxxxxxxxxx
                                                                          scvtf.  */
                                                                          10987654321098765432109876543210
                                                                          011001x1x0010100101xxxxxxxxxxxxx
                                                                          scvtf.  */
-                                                                      return 1769;
+                                                                      return 1809;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -10544,7 +14218,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x101010100101xxxxxxxxxxxxx
                                                                              scvtf.  */
                                                                              10987654321098765432109876543210
                                                                              011001x101010100101xxxxxxxxxxxxx
                                                                              scvtf.  */
-                                                                          return 1768;
+                                                                          return 1808;
                                                                         }
                                                                       else
                                                                         {
                                                                         }
                                                                       else
                                                                         {
@@ -10552,49 +14226,60 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x111010100101xxxxxxxxxxxxx
                                                                              scvtf.  */
                                                                              10987654321098765432109876543210
                                                                              011001x111010100101xxxxxxxxxxxxx
                                                                              scvtf.  */
-                                                                          return 1772;
+                                                                          return 1812;
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                                         }
                                                                     }
                                                                 }
                                                             }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 18) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx000010101xxxxxxxxxxxxx
+                                                                     frintm.  */
+                                                                  return 1463;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx010010101xxxxxxxxxxxxx
+                                                                     scvtf.  */
+                                                                  return 1807;
+                                                                }
+                                                            }
                                                           else
                                                             {
                                                               if (((word >> 20) & 0x1) == 0)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                           else
                                                             {
                                                               if (((word >> 20) & 0x1) == 0)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     011001x1xx001100101xxxxxxxxxxxxx
-                                                                     frecpx.  */
-                                                                  return 1420;
+                                                                     011001x1xx000110101xxxxxxxxxxxxx
+                                                                     frintx.  */
+                                                                  return 1466;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 22) & 0x1) == 0)
+                                                                  if (((word >> 23) & 0x1) == 0)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         011001x1x0011100101xxxxxxxxxxxxx
-                                                                         fcvtzs.  */
-                                                                      return 1369;
+                                                                         011001x10x010110101xxxxxxxxxxxxx
+                                                                         scvtf.  */
+                                                                      return 1811;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
-                                                                      if (((word >> 23) & 0x1) == 0)
-                                                                        {
-                                                                          /* 33222222222211111111110000000000
-                                                                             10987654321098765432109876543210
-                                                                             011001x101011100101xxxxxxxxxxxxx
-                                                                             fcvtzs.  */
-                                                                          return 1367;
-                                                                        }
-                                                                      else
-                                                                        {
-                                                                          /* 33222222222211111111110000000000
-                                                                             10987654321098765432109876543210
-                                                                             011001x111011100101xxxxxxxxxxxxx
-                                                                             fcvtzs.  */
-                                                                          return 1371;
-                                                                        }
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         011001x11x010110101xxxxxxxxxxxxx
+                                                                         scvtf.  */
+                                                                      return 1813;
                                                                     }
                                                                 }
                                                             }
                                                                     }
                                                                 }
                                                             }
@@ -10602,98 +14287,153 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 18) & 0x1) == 0)
+                                                      if (((word >> 20) & 0x1) == 0)
                                                         {
                                                         {
-                                                          if (((word >> 19) & 0x1) == 0)
+                                                          if (((word >> 17) & 0x1) == 0)
                                                             {
                                                             {
-                                                              if (((word >> 20) & 0x1) == 0)
+                                                              if (((word >> 18) & 0x1) == 0)
                                                                 {
                                                                 {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     011001x1xx000010101xxxxxxxxxxxxx
-                                                                     frintm.  */
-                                                                  return 1423;
+                                                                  if (((word >> 22) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         011001x1x0001000101xxxxxxxxxxxxx
+                                                                         fcvt.  */
+                                                                      return 1400;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         011001x1x1001000101xxxxxxxxxxxxx
+                                                                         fcvt.  */
+                                                                      return 1402;
+                                                                    }
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     011001x1xx010010101xxxxxxxxxxxxx
-                                                                     scvtf.  */
-                                                                  return 1767;
+                                                                     011001x1xx001100101xxxxxxxxxxxxx
+                                                                     frecpx.  */
+                                                                  return 1460;
                                                                 }
                                                             }
                                                           else
                                                             {
                                                                 }
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 20) & 0x1) == 0)
+                                                              if (((word >> 22) & 0x1) == 0)
                                                                 {
                                                                 {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     011001x1xx001010101xxxxxxxxxxxxx
-                                                                     fcvt.  */
-                                                                  return 1364;
+                                                                  if (((word >> 23) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         011001x100001x10101xxxxxxxxxxxxx
+                                                                         fcvtx.  */
+                                                                      return 2070;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         011001x110001x10101xxxxxxxxxxxxx
+                                                                         bfcvt.  */
+                                                                      return 2422;
+                                                                    }
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     011001x1xx011010101xxxxxxxxxxxxx
-                                                                     fcvtzs.  */
-                                                                  return 1366;
+                                                                     011001x1x1001x10101xxxxxxxxxxxxx
+                                                                     fcvt.  */
+                                                                  return 1404;
                                                                 }
                                                             }
                                                         }
                                                       else
                                                         {
                                                                 }
                                                             }
                                                         }
                                                       else
                                                         {
-                                                          if (((word >> 19) & 0x1) == 0)
+                                                          if (((word >> 22) & 0x1) == 0)
                                                             {
                                                             {
-                                                              if (((word >> 20) & 0x1) == 0)
+                                                              if (((word >> 23) & 0x1) == 0)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     011001x1xx000110101xxxxxxxxxxxxx
-                                                                     frintx.  */
-                                                                  return 1426;
+                                                                     011001x100011xx0101xxxxxxxxxxxxx
+                                                                     flogb.  */
+                                                                  return 2072;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x110011xx0101xxxxxxxxxxxxx
+                                                                     fcvtzs.  */
+                                                                  return 1409;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 17) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 18) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         011001x1x1011000101xxxxxxxxxxxxx
+                                                                         fcvtzs.  */
+                                                                      return 1410;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      if (((word >> 23) & 0x1) == 0)
+                                                                        {
+                                                                          /* 33222222222211111111110000000000
+                                                                             10987654321098765432109876543210
+                                                                             011001x101011100101xxxxxxxxxxxxx
+                                                                             fcvtzs.  */
+                                                                          return 1407;
+                                                                        }
+                                                                      else
+                                                                        {
+                                                                          /* 33222222222211111111110000000000
+                                                                             10987654321098765432109876543210
+                                                                             011001x111011100101xxxxxxxxxxxxx
+                                                                             fcvtzs.  */
+                                                                          return 1411;
+                                                                        }
+                                                                    }
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 23) & 0x1) == 0)
+                                                                  if (((word >> 18) & 0x1) == 0)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         011001x10x010110101xxxxxxxxxxxxx
-                                                                         scvtf.  */
-                                                                      return 1771;
+                                                                         011001x1x1011010101xxxxxxxxxxxxx
+                                                                         fcvtzs.  */
+                                                                      return 1406;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         011001x11x010110101xxxxxxxxxxxxx
-                                                                         scvtf.  */
-                                                                      return 1773;
+                                                                      if (((word >> 23) & 0x1) == 0)
+                                                                        {
+                                                                          /* 33222222222211111111110000000000
+                                                                             10987654321098765432109876543210
+                                                                             011001x101011110101xxxxxxxxxxxxx
+                                                                             fcvtzs.  */
+                                                                          return 1408;
+                                                                        }
+                                                                      else
+                                                                        {
+                                                                          /* 33222222222211111111110000000000
+                                                                             10987654321098765432109876543210
+                                                                             011001x111011110101xxxxxxxxxxxxx
+                                                                             fcvtzs.  */
+                                                                          return 1412;
+                                                                        }
                                                                     }
                                                                 }
                                                             }
                                                                     }
                                                                 }
                                                             }
-                                                          else
-                                                            {
-                                                              if (((word >> 23) & 0x1) == 0)
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     011001x10x0x1110101xxxxxxxxxxxxx
-                                                                     fcvtzs.  */
-                                                                  return 1368;
-                                                                }
-                                                              else
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     011001x11x0x1110101xxxxxxxxxxxxx
-                                                                     fcvtzs.  */
-                                                                  return 1372;
-                                                                }
-                                                            }
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -10711,7 +14451,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000001101xxxxxxxxxxxxx
                                                                      frintp.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000001101xxxxxxxxxxxxx
                                                                      frintp.  */
-                                                                  return 1425;
+                                                                  return 1465;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10719,7 +14459,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx010001101xxxxxxxxxxxxx
                                                                      ucvtf.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx010001101xxxxxxxxxxxxx
                                                                      ucvtf.  */
-                                                                  return 1922;
+                                                                  return 1962;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -10732,7 +14472,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1x0001001101xxxxxxxxxxxxx
                                                                          fcvt.  */
                                                                          10987654321098765432109876543210
                                                                          011001x1x0001001101xxxxxxxxxxxxx
                                                                          fcvt.  */
-                                                                      return 1361;
+                                                                      return 1401;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -10740,7 +14480,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1x1001001101xxxxxxxxxxxxx
                                                                          fcvt.  */
                                                                          10987654321098765432109876543210
                                                                          011001x1x1001001101xxxxxxxxxxxxx
                                                                          fcvt.  */
-                                                                      return 1363;
+                                                                      return 1403;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -10749,7 +14489,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011001101xxxxxxxxxxxxx
                                                                      fcvtzu.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011001101xxxxxxxxxxxxx
                                                                      fcvtzu.  */
-                                                                  return 1377;
+                                                                  return 1417;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -10763,7 +14503,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1x00x0101101xxxxxxxxxxxxx
                                                                      ucvtf.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1x00x0101101xxxxxxxxxxxxx
                                                                      ucvtf.  */
-                                                                  return 1921;
+                                                                  return 1961;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10773,7 +14513,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1010x0101101xxxxxxxxxxxxx
                                                                          ucvtf.  */
                                                                          10987654321098765432109876543210
                                                                          011001x1010x0101101xxxxxxxxxxxxx
                                                                          ucvtf.  */
-                                                                      return 1920;
+                                                                      return 1960;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -10781,7 +14521,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1110x0101101xxxxxxxxxxxxx
                                                                          ucvtf.  */
                                                                          10987654321098765432109876543210
                                                                          011001x1110x0101101xxxxxxxxxxxxx
                                                                          ucvtf.  */
-                                                                      return 1924;
+                                                                      return 1964;
                                                                     }
                                                                 }
                                                             }
                                                                     }
                                                                 }
                                                             }
@@ -10793,7 +14533,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001101101xxxxxxxxxxxxx
                                                                      fsqrt.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001101101xxxxxxxxxxxxx
                                                                      fsqrt.  */
-                                                                  return 1431;
+                                                                  return 1471;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10803,7 +14543,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1x0011101101xxxxxxxxxxxxx
                                                                          fcvtzu.  */
                                                                          10987654321098765432109876543210
                                                                          011001x1x0011101101xxxxxxxxxxxxx
                                                                          fcvtzu.  */
-                                                                      return 1376;
+                                                                      return 1416;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -10813,7 +14553,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x101011101101xxxxxxxxxxxxx
                                                                              fcvtzu.  */
                                                                              10987654321098765432109876543210
                                                                              011001x101011101101xxxxxxxxxxxxx
                                                                              fcvtzu.  */
-                                                                          return 1374;
+                                                                          return 1414;
                                                                         }
                                                                       else
                                                                         {
                                                                         }
                                                                       else
                                                                         {
@@ -10821,7 +14561,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x111011101101xxxxxxxxxxxxx
                                                                              fcvtzu.  */
                                                                              10987654321098765432109876543210
                                                                              011001x111011101101xxxxxxxxxxxxx
                                                                              fcvtzu.  */
-                                                                          return 1378;
+                                                                          return 1418;
                                                                         }
                                                                     }
                                                                 }
                                                                         }
                                                                     }
                                                                 }
@@ -10840,7 +14580,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000011101xxxxxxxxxxxxx
                                                                      frintz.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000011101xxxxxxxxxxxxx
                                                                      frintz.  */
-                                                                  return 1427;
+                                                                  return 1467;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10848,7 +14588,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx010011101xxxxxxxxxxxxx
                                                                      ucvtf.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx010011101xxxxxxxxxxxxx
                                                                      ucvtf.  */
-                                                                  return 1919;
+                                                                  return 1959;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -10859,7 +14599,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001011101xxxxxxxxxxxxx
                                                                      fcvt.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx001011101xxxxxxxxxxxxx
                                                                      fcvt.  */
-                                                                  return 1365;
+                                                                  return 1405;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10867,7 +14607,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011011101xxxxxxxxxxxxx
                                                                      fcvtzu.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx011011101xxxxxxxxxxxxx
                                                                      fcvtzu.  */
-                                                                  return 1373;
+                                                                  return 1413;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -10881,7 +14621,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000111101xxxxxxxxxxxxx
                                                                      frinti.  */
                                                                      10987654321098765432109876543210
                                                                      011001x1xx000111101xxxxxxxxxxxxx
                                                                      frinti.  */
-                                                                  return 1422;
+                                                                  return 1462;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10891,7 +14631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x10x010111101xxxxxxxxxxxxx
                                                                          ucvtf.  */
                                                                          10987654321098765432109876543210
                                                                          011001x10x010111101xxxxxxxxxxxxx
                                                                          ucvtf.  */
-                                                                      return 1923;
+                                                                      return 1963;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -10899,7 +14639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x11x010111101xxxxxxxxxxxxx
                                                                          ucvtf.  */
                                                                          10987654321098765432109876543210
                                                                          011001x11x010111101xxxxxxxxxxxxx
                                                                          ucvtf.  */
-                                                                      return 1925;
+                                                                      return 1965;
                                                                     }
                                                                 }
                                                             }
                                                                     }
                                                                 }
                                                             }
@@ -10911,7 +14651,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x10x0x1111101xxxxxxxxxxxxx
                                                                      fcvtzu.  */
                                                                      10987654321098765432109876543210
                                                                      011001x10x0x1111101xxxxxxxxxxxxx
                                                                      fcvtzu.  */
-                                                                  return 1375;
+                                                                  return 1415;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -10919,7 +14659,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x11x0x1111101xxxxxxxxxxxxx
                                                                      fcvtzu.  */
                                                                      10987654321098765432109876543210
                                                                      011001x11x0x1111101xxxxxxxxxxxxx
                                                                      fcvtzu.  */
-                                                                  return 1379;
+                                                                  return 1419;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -10936,7 +14676,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1000xxxxx101xxxxxxxxxxxxx
                                                          st1w.  */
                                                          10987654321098765432109876543210
                                                          111001x1000xxxxx101xxxxxxxxxxxxx
                                                          st1w.  */
-                                                      return 1857;
+                                                      return 1897;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -10944,7 +14684,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1100xxxxx101xxxxxxxxxxxxx
                                                          st1d.  */
                                                          10987654321098765432109876543210
                                                          111001x1100xxxxx101xxxxxxxxxxxxx
                                                          st1d.  */
-                                                      return 1836;
+                                                      return 1876;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -10955,7 +14695,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1010xxxxx101xxxxxxxxxxxxx
                                                          st1w.  */
                                                          10987654321098765432109876543210
                                                          111001x1010xxxxx101xxxxxxxxxxxxx
                                                          st1w.  */
-                                                      return 1864;
+                                                      return 1904;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -10963,7 +14703,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1110xxxxx101xxxxxxxxxxxxx
                                                          st1d.  */
                                                          10987654321098765432109876543210
                                                          111001x1110xxxxx101xxxxxxxxxxxxx
                                                          st1d.  */
-                                                      return 1840;
+                                                      return 1880;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -10976,7 +14716,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  011001x1xx0xxxxx111xxxxxxxxxxxxx
                                                  facgt.  */
                                                  10987654321098765432109876543210
                                                  011001x1xx0xxxxx111xxxxxxxxxxxxx
                                                  facgt.  */
-                                              return 1338;
+                                              return 1378;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -10986,7 +14726,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x1xx00xxxx111xxxxxxxxxxxxx
                                                      st1w.  */
                                                      10987654321098765432109876543210
                                                      111001x1xx00xxxx111xxxxxxxxxxxxx
                                                      st1w.  */
-                                                  return 1865;
+                                                  return 1905;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -10998,7 +14738,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x10001xxxx111xxxxxxxxxxxxx
                                                              stnt1w.  */
                                                              10987654321098765432109876543210
                                                              111001x10001xxxx111xxxxxxxxxxxxx
                                                              stnt1w.  */
-                                                          return 1899;
+                                                          return 1939;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -11006,7 +14746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x11001xxxx111xxxxxxxxxxxxx
                                                              stnt1d.  */
                                                              10987654321098765432109876543210
                                                              111001x11001xxxx111xxxxxxxxxxxxx
                                                              stnt1d.  */
-                                                          return 1895;
+                                                          return 1935;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -11017,7 +14757,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x10101xxxx111xxxxxxxxxxxxx
                                                              st3w.  */
                                                              10987654321098765432109876543210
                                                              111001x10101xxxx111xxxxxxxxxxxxx
                                                              st3w.  */
-                                                          return 1883;
+                                                          return 1923;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -11025,7 +14765,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x11101xxxx111xxxxxxxxxxxxx
                                                              st3d.  */
                                                              10987654321098765432109876543210
                                                              111001x11101xxxx111xxxxxxxxxxxxx
                                                              st3d.  */
-                                                          return 1879;
+                                                          return 1919;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -11056,7 +14796,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10000010xxxxxxxxxxxxxx
                                                                  cntp.  */
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10000010xxxxxxxxxxxxxx
                                                                  cntp.  */
-                                                              return 1307;
+                                                              return 1347;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -11070,7 +14810,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              001001x1xx10100010x000xxxxxxxxxx
                                                                              sqincp.  */
                                                                              10987654321098765432109876543210
                                                                              001001x1xx10100010x000xxxxxxxxxx
                                                                              sqincp.  */
-                                                                          return 1814;
+                                                                          return 1854;
                                                                         }
                                                                       else
                                                                         {
                                                                         }
                                                                       else
                                                                         {
@@ -11078,7 +14818,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              001001x1xx10100010x100xxxxxxxxxx
                                                                              wrffr.  */
                                                                              10987654321098765432109876543210
                                                                              001001x1xx10100010x100xxxxxxxxxx
                                                                              wrffr.  */
-                                                                          return 1987;
+                                                                          return 2027;
                                                                         }
                                                                     }
                                                                   else
                                                                         }
                                                                     }
                                                                   else
@@ -11087,7 +14827,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          001001x1xx10100010xx10xxxxxxxxxx
                                                                          sqincp.  */
                                                                          10987654321098765432109876543210
                                                                          001001x1xx10100010xx10xxxxxxxxxx
                                                                          sqincp.  */
-                                                                      return 1816;
+                                                                      return 1856;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -11096,7 +14836,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10100010xxx1xxxxxxxxxx
                                                                      sqincp.  */
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10100010xxx1xxxxxxxxxx
                                                                      sqincp.  */
-                                                                  return 1815;
+                                                                  return 1855;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -11110,7 +14850,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x10010x00xxxxxxxxxxx
                                                                      incp.  */
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x10010x00xxxxxxxxxxx
                                                                      incp.  */
-                                                                  return 1445;
+                                                                  return 1485;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -11118,7 +14858,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x10010x10xxxxxxxxxxx
                                                                      setffr.  */
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x10010x10xxxxxxxxxxx
                                                                      setffr.  */
-                                                                  return 1781;
+                                                                  return 1821;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -11127,7 +14867,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10x10010xx1xxxxxxxxxxx
                                                                  incp.  */
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10x10010xx1xxxxxxxxxxx
                                                                  incp.  */
-                                                              return 1446;
+                                                              return 1486;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -11141,7 +14881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10xx1010xx00xxxxxxxxxx
                                                                  sqdecp.  */
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10xx1010xx00xxxxxxxxxx
                                                                  sqdecp.  */
-                                                              return 1800;
+                                                              return 1840;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -11149,7 +14889,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10xx1010xx10xxxxxxxxxx
                                                                  sqdecp.  */
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10xx1010xx10xxxxxxxxxx
                                                                  sqdecp.  */
-                                                              return 1802;
+                                                              return 1842;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -11158,7 +14898,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1xx10xx1010xxx1xxxxxxxxxx
                                                              sqdecp.  */
                                                              10987654321098765432109876543210
                                                              001001x1xx10xx1010xxx1xxxxxxxxxx
                                                              sqdecp.  */
-                                                          return 1801;
+                                                          return 1841;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -11176,7 +14916,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x00110xx00xxxxxxxxxx
                                                                      uqincp.  */
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x00110xx00xxxxxxxxxx
                                                                      uqincp.  */
-                                                                  return 1962;
+                                                                  return 2002;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -11184,7 +14924,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x10110xx00xxxxxxxxxx
                                                                      decp.  */
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x10110xx00xxxxxxxxxx
                                                                      decp.  */
-                                                                  return 1320;
+                                                                  return 1360;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -11193,7 +14933,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10xx1110xx00xxxxxxxxxx
                                                                  uqdecp.  */
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10xx1110xx00xxxxxxxxxx
                                                                  uqdecp.  */
-                                                              return 1948;
+                                                              return 1988;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -11206,7 +14946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x00110xx10xxxxxxxxxx
                                                                      uqincp.  */
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x00110xx10xxxxxxxxxx
                                                                      uqincp.  */
-                                                                  return 1963;
+                                                                  return 2003;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -11214,7 +14954,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x10110xx10xxxxxxxxxx
                                                                      decp.  */
                                                                      10987654321098765432109876543210
                                                                      001001x1xx10x10110xx10xxxxxxxxxx
                                                                      decp.  */
-                                                                  return 1321;
+                                                                  return 1361;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -11223,7 +14963,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10xx1110xx10xxxxxxxxxx
                                                                  uqdecp.  */
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10xx1110xx10xxxxxxxxxx
                                                                  uqdecp.  */
-                                                              return 1949;
+                                                              return 1989;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -11235,7 +14975,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1xx10xx0110xxx1xxxxxxxxxx
                                                              uqincp.  */
                                                              10987654321098765432109876543210
                                                              001001x1xx10xx0110xxx1xxxxxxxxxx
                                                              uqincp.  */
-                                                          return 1964;
+                                                          return 2004;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -11243,7 +14983,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1xx10xx1110xxx1xxxxxxxxxx
                                                              uqdecp.  */
                                                              10987654321098765432109876543210
                                                              001001x1xx10xx1110xxx1xxxxxxxxxx
                                                              uqdecp.  */
-                                                          return 1950;
+                                                          return 1990;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -11258,7 +14998,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x10010xxxx10xxxxxxxxxxxxxx
                                                          ld1sh.  */
                                                          10987654321098765432109876543210
                                                          101001x10010xxxx10xxxxxxxxxxxxxx
                                                          ld1sh.  */
-                                                      return 1538;
+                                                      return 1578;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -11266,7 +15006,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x11010xxxx10xxxxxxxxxxxxxx
                                                          ld1sb.  */
                                                          10987654321098765432109876543210
                                                          101001x11010xxxx10xxxxxxxxxxxxxx
                                                          ld1sb.  */
-                                                      return 1525;
+                                                      return 1565;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -11277,7 +15017,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x10110xxxx10xxxxxxxxxxxxxx
                                                          ld1w.  */
                                                          10987654321098765432109876543210
                                                          101001x10110xxxx10xxxxxxxxxxxxxx
                                                          ld1w.  */
-                                                      return 1557;
+                                                      return 1597;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -11285,7 +15025,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x11110xxxx10xxxxxxxxxxxxxx
                                                          ld1d.  */
                                                          10987654321098765432109876543210
                                                          101001x11110xxxx10xxxxxxxxxxxxxx
                                                          ld1d.  */
-                                                      return 1477;
+                                                      return 1517;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -11300,7 +15040,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x10011xxxx10xxxxxxxxxxxxxx
                                                      ldnf1sh.  */
                                                      10987654321098765432109876543210
                                                      x01001x10011xxxx10xxxxxxxxxxxxxx
                                                      ldnf1sh.  */
-                                                  return 1671;
+                                                  return 1711;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -11308,7 +15048,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x11011xxxx10xxxxxxxxxxxxxx
                                                      ldnf1sb.  */
                                                      10987654321098765432109876543210
                                                      x01001x11011xxxx10xxxxxxxxxxxxxx
                                                      ldnf1sb.  */
-                                                  return 1668;
+                                                  return 1708;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -11319,7 +15059,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x10111xxxx10xxxxxxxxxxxxxx
                                                      ldnf1w.  */
                                                      10987654321098765432109876543210
                                                      x01001x10111xxxx10xxxxxxxxxxxxxx
                                                      ldnf1w.  */
-                                                  return 1674;
+                                                  return 1714;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -11327,7 +15067,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x01001x11111xxxx10xxxxxxxxxxxxxx
                                                      ldnf1d.  */
                                                      10987654321098765432109876543210
                                                      x01001x11111xxxx10xxxxxxxxxxxxxx
                                                      ldnf1d.  */
-                                                  return 1663;
+                                                  return 1703;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -11350,7 +15090,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10000011xxxxxxxxxxxxxx
                                                                  add.  */
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10000011xxxxxxxxxxxxxx
                                                                  add.  */
-                                                              return 1234;
+                                                              return 1274;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -11358,7 +15098,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx11000011xxxxxxxxxxxxxx
                                                                  mul.  */
                                                                  10987654321098765432109876543210
                                                                  001001x1xx11000011xxxxxxxxxxxxxx
                                                                  mul.  */
-                                                              return 1703;
+                                                              return 1743;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -11369,7 +15109,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10100011xxxxxxxxxxxxxx
                                                                  smax.  */
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10100011xxxxxxxxxxxxxx
                                                                  smax.  */
-                                                              return 1782;
+                                                              return 1822;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -11377,7 +15117,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx11100011xxxxxxxxxxxxxx
                                                                  dup.  */
                                                                  10987654321098765432109876543210
                                                                  001001x1xx11100011xxxxxxxxxxxxxx
                                                                  dup.  */
-                                                              return 1326;
+                                                              return 1366;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -11387,7 +15127,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          001001x1xx1xx10011xxxxxxxxxxxxxx
                                                          sqadd.  */
                                                          10987654321098765432109876543210
                                                          001001x1xx1xx10011xxxxxxxxxxxxxx
                                                          sqadd.  */
-                                                      return 1791;
+                                                      return 1831;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -11398,7 +15138,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          001001x1xx1xx01011xxxxxxxxxxxxxx
                                                          smin.  */
                                                          10987654321098765432109876543210
                                                          001001x1xx1xx01011xxxxxxxxxxxxxx
                                                          smin.  */
-                                                      return 1785;
+                                                      return 1825;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -11406,7 +15146,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          001001x1xx1xx11011xxxxxxxxxxxxxx
                                                          sqsub.  */
                                                          10987654321098765432109876543210
                                                          001001x1xx1xx11011xxxxxxxxxxxxxx
                                                          sqsub.  */
-                                                      return 1821;
+                                                      return 1861;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -11422,7 +15162,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1xx1x000111xxxxxxxxxxxxxx
                                                              sub.  */
                                                              10987654321098765432109876543210
                                                              001001x1xx1x000111xxxxxxxxxxxxxx
                                                              sub.  */
-                                                          return 1903;
+                                                          return 1943;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -11432,7 +15172,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10100111xxxxxxxxxxxxxx
                                                                  umax.  */
                                                                  10987654321098765432109876543210
                                                                  001001x1xx10100111xxxxxxxxxxxxxx
                                                                  umax.  */
-                                                              return 1931;
+                                                              return 1971;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -11440,7 +15180,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx11100111xxxxxxxxxxxxxx
                                                                  fdup.  */
                                                                  10987654321098765432109876543210
                                                                  001001x1xx11100111xxxxxxxxxxxxxx
                                                                  fdup.  */
-                                                              return 1382;
+                                                              return 1422;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -11450,7 +15190,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          001001x1xx1xx10111xxxxxxxxxxxxxx
                                                          uqadd.  */
                                                          10987654321098765432109876543210
                                                          001001x1xx1xx10111xxxxxxxxxxxxxx
                                                          uqadd.  */
-                                                      return 1939;
+                                                      return 1979;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -11463,7 +15203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1xx1x001111xxxxxxxxxxxxxx
                                                              subr.  */
                                                              10987654321098765432109876543210
                                                              001001x1xx1x001111xxxxxxxxxxxxxx
                                                              subr.  */
-                                                          return 1905;
+                                                          return 1945;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -11471,7 +15211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              001001x1xx1x101111xxxxxxxxxxxxxx
                                                              umin.  */
                                                              10987654321098765432109876543210
                                                              001001x1xx1x101111xxxxxxxxxxxxxx
                                                              umin.  */
-                                                          return 1934;
+                                                          return 1974;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -11480,7 +15220,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          001001x1xx1xx11111xxxxxxxxxxxxxx
                                                          uqsub.  */
                                                          10987654321098765432109876543210
                                                          001001x1xx1xx11111xxxxxxxxxxxxxx
                                                          uqsub.  */
-                                                      return 1969;
+                                                      return 2009;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -11497,7 +15237,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1001xxxxx110xxxxxxxxxxxxx
                                                          ld2w.  */
                                                          10987654321098765432109876543210
                                                          101001x1001xxxxx110xxxxxxxxxxxxx
                                                          ld2w.  */
-                                                      return 1565;
+                                                      return 1605;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -11505,7 +15245,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1101xxxxx110xxxxxxxxxxxxx
                                                          ld2d.  */
                                                          10987654321098765432109876543210
                                                          101001x1101xxxxx110xxxxxxxxxxxxx
                                                          ld2d.  */
-                                                      return 1561;
+                                                      return 1601;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -11516,7 +15256,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1011xxxxx110xxxxxxxxxxxxx
                                                          ld4w.  */
                                                          10987654321098765432109876543210
                                                          101001x1011xxxxx110xxxxxxxxxxxxx
                                                          ld4w.  */
-                                                      return 1581;
+                                                      return 1621;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -11524,7 +15264,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1111xxxxx110xxxxxxxxxxxxx
                                                          ld4d.  */
                                                          10987654321098765432109876543210
                                                          101001x1111xxxxx110xxxxxxxxxxxxx
                                                          ld4d.  */
-                                                      return 1577;
+                                                      return 1617;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -11538,7 +15278,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1001xxxxx111xxxxxxxxxxxxx
                                                          ld2w.  */
                                                          10987654321098765432109876543210
                                                          101001x1001xxxxx111xxxxxxxxxxxxx
                                                          ld2w.  */
-                                                      return 1566;
+                                                      return 1606;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -11546,7 +15286,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1101xxxxx111xxxxxxxxxxxxx
                                                          ld2d.  */
                                                          10987654321098765432109876543210
                                                          101001x1101xxxxx111xxxxxxxxxxxxx
                                                          ld2d.  */
-                                                      return 1562;
+                                                      return 1602;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -11557,7 +15297,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1011xxxxx111xxxxxxxxxxxxx
                                                          ld4w.  */
                                                          10987654321098765432109876543210
                                                          101001x1011xxxxx111xxxxxxxxxxxxx
                                                          ld4w.  */
-                                                      return 1582;
+                                                      return 1622;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -11565,7 +15305,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x1111xxxxx111xxxxxxxxxxxxx
                                                          ld4d.  */
                                                          10987654321098765432109876543210
                                                          101001x1111xxxxx111xxxxxxxxxxxxx
                                                          ld4d.  */
-                                                      return 1578;
+                                                      return 1618;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -11584,7 +15324,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx100xxxxxxxxxxxxx
                                                  fmad.  */
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx100xxxxxxxxxxxxx
                                                  fmad.  */
-                                              return 1384;
+                                              return 1424;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -11592,7 +15332,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx110xxxxxxxxxxxxx
                                                  fnmad.  */
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx110xxxxxxxxxxxxx
                                                  fnmad.  */
-                                              return 1414;
+                                              return 1454;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -11605,7 +15345,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x1001xxxxx1x0xxxxxxxxxxxxx
                                                      st1w.  */
                                                      10987654321098765432109876543210
                                                      111001x1001xxxxx1x0xxxxxxxxxxxxx
                                                      st1w.  */
-                                                  return 1858;
+                                                  return 1898;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -11613,7 +15353,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x1101xxxxx1x0xxxxxxxxxxxxx
                                                      st1d.  */
                                                      10987654321098765432109876543210
                                                      111001x1101xxxxx1x0xxxxxxxxxxxxx
                                                      st1d.  */
-                                                  return 1837;
+                                                  return 1877;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -11622,7 +15362,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  111001x1x11xxxxx1x0xxxxxxxxxxxxx
                                                  st1w.  */
                                                  10987654321098765432109876543210
                                                  111001x1x11xxxxx1x0xxxxxxxxxxxxx
                                                  st1w.  */
-                                              return 1863;
+                                              return 1903;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -11636,7 +15376,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx101xxxxxxxxxxxxx
                                                  fmsb.  */
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx101xxxxxxxxxxxxx
                                                  fmsb.  */
-                                              return 1405;
+                                              return 1445;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -11648,7 +15388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1001xxxxx101xxxxxxxxxxxxx
                                                          st1w.  */
                                                          10987654321098765432109876543210
                                                          111001x1001xxxxx101xxxxxxxxxxxxx
                                                          st1w.  */
-                                                      return 1859;
+                                                      return 1899;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -11656,7 +15396,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1101xxxxx101xxxxxxxxxxxxx
                                                          st1d.  */
                                                          10987654321098765432109876543210
                                                          111001x1101xxxxx101xxxxxxxxxxxxx
                                                          st1d.  */
-                                                      return 1838;
+                                                      return 1878;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -11665,7 +15405,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x1x11xxxxx101xxxxxxxxxxxxx
                                                      st1w.  */
                                                      10987654321098765432109876543210
                                                      111001x1x11xxxxx101xxxxxxxxxxxxx
                                                      st1w.  */
-                                                  return 1866;
+                                                  return 1906;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -11677,7 +15417,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx111xxxxxxxxxxxxx
                                                  fnmsb.  */
                                                  10987654321098765432109876543210
                                                  011001x1xx1xxxxx111xxxxxxxxxxxxx
                                                  fnmsb.  */
-                                              return 1417;
+                                              return 1457;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -11689,7 +15429,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x10x10xxxx111xxxxxxxxxxxxx
                                                          st1w.  */
                                                          10987654321098765432109876543210
                                                          111001x10x10xxxx111xxxxxxxxxxxxx
                                                          st1w.  */
-                                                      return 1867;
+                                                      return 1907;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -11697,7 +15437,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x11x10xxxx111xxxxxxxxxxxxx
                                                          st1d.  */
                                                          10987654321098765432109876543210
                                                          111001x11x10xxxx111xxxxxxxxxxxxx
                                                          st1d.  */
-                                                      return 1841;
+                                                      return 1881;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -11710,7 +15450,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x10011xxxx111xxxxxxxxxxxxx
                                                              st2w.  */
                                                              10987654321098765432109876543210
                                                              111001x10011xxxx111xxxxxxxxxxxxx
                                                              st2w.  */
-                                                          return 1875;
+                                                          return 1915;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -11718,7 +15458,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x11011xxxx111xxxxxxxxxxxxx
                                                              st2d.  */
                                                              10987654321098765432109876543210
                                                              111001x11011xxxx111xxxxxxxxxxxxx
                                                              st2d.  */
-                                                          return 1871;
+                                                          return 1911;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -11729,7 +15469,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x10111xxxx111xxxxxxxxxxxxx
                                                              st4w.  */
                                                              10987654321098765432109876543210
                                                              111001x10111xxxx111xxxxxxxxxxxxx
                                                              st4w.  */
-                                                          return 1891;
+                                                          return 1931;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -11737,7 +15477,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x11111xxxx111xxxxxxxxxxxxx
                                                              st4d.  */
                                                              10987654321098765432109876543210
                                                              111001x11111xxxx111xxxxxxxxxxxxx
                                                              st4d.  */
-                                                          return 1887;
+                                                          return 1927;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -11762,7 +15502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              000101xxxxxxxxxxxxxxxxxxxxxxxxxx
                              b.  */
                              10987654321098765432109876543210
                              000101xxxxxxxxxxxxxxxxxxxxxxxxxx
                              b.  */
-                          return 630;
+                          return 636;
                         }
                       else
                         {
                         }
                       else
                         {
@@ -11770,7 +15510,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              100101xxxxxxxxxxxxxxxxxxxxxxxxxx
                              bl.  */
                              10987654321098765432109876543210
                              100101xxxxxxxxxxxxxxxxxxxxxxxxxx
                              bl.  */
-                          return 631;
+                          return 637;
                         }
                     }
                   else
                         }
                     }
                   else
@@ -11787,7 +15527,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          01010100xxxxxxxxxxxxxxxxxxx0xxxx
                                          b.c.  */
                                          10987654321098765432109876543210
                                          01010100xxxxxxxxxxxxxxxxxxx0xxxx
                                          b.c.  */
-                                      return 651;
+                                      return 657;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -11801,15 +15541,26 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      11010100xx0xxxxxxxxxxxxxxxx0xx00
                                                      hlt.  */
                                                      10987654321098765432109876543210
                                                      11010100xx0xxxxxxxxxxxxxxxx0xx00
                                                      hlt.  */
-                                                  return 742;
+                                                  return 753;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     11010100xx1xxxxxxxxxxxxxxxx0xx00
-                                                     brk.  */
-                                                  return 741;
+                                                  if (((word >> 22) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         11010100x01xxxxxxxxxxxxxxxx0xx00
+                                                         brk.  */
+                                                      return 752;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         11010100x11xxxxxxxxxxxxxxxx0xx00
+                                                         tcancel.  */
+                                                      return 1191;
+                                                    }
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -11820,7 +15571,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      11010100xx0xxxxxxxxxxxxxxxx0xx10
                                                      hvc.  */
                                                      10987654321098765432109876543210
                                                      11010100xx0xxxxxxxxxxxxxxxx0xx10
                                                      hvc.  */
-                                                  return 739;
+                                                  return 750;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -11828,7 +15579,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      11010100xx1xxxxxxxxxxxxxxxx0xx10
                                                      dcps2.  */
                                                      10987654321098765432109876543210
                                                      11010100xx1xxxxxxxxxxxxxxxx0xx10
                                                      dcps2.  */
-                                                  return 744;
+                                                  return 755;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -11842,7 +15593,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      11010100xx0xxxxxxxxxxxxxxxx0xx01
                                                      svc.  */
                                                      10987654321098765432109876543210
                                                      11010100xx0xxxxxxxxxxxxxxxx0xx01
                                                      svc.  */
-                                                  return 738;
+                                                  return 749;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -11850,7 +15601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      11010100xx1xxxxxxxxxxxxxxxx0xx01
                                                      dcps1.  */
                                                      10987654321098765432109876543210
                                                      11010100xx1xxxxxxxxxxxxxxxx0xx01
                                                      dcps1.  */
-                                                  return 743;
+                                                  return 754;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -11861,7 +15612,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      11010100xx0xxxxxxxxxxxxxxxx0xx11
                                                      smc.  */
                                                      10987654321098765432109876543210
                                                      11010100xx0xxxxxxxxxxxxxxxx0xx11
                                                      smc.  */
-                                                  return 740;
+                                                  return 751;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -11869,7 +15620,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      11010100xx1xxxxxxxxxxxxxxxx0xx11
                                                      dcps3.  */
                                                      10987654321098765432109876543210
                                                      11010100xx1xxxxxxxxxxxxxxxx0xx11
                                                      dcps3.  */
-                                                  return 745;
+                                                  return 756;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -11887,7 +15638,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1010110000xxxxxxxxxxxxxxxx0xxxx
                                                  br.  */
                                                  10987654321098765432109876543210
                                                  x1010110000xxxxxxxxxxxxxxxx0xxxx
                                                  br.  */
-                                              return 632;
+                                              return 638;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -11895,7 +15646,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1010110100xxxxxxxxxxxxxxxx0xxxx
                                                  eret.  */
                                                  10987654321098765432109876543210
                                                  x1010110100xxxxxxxxxxxxxxxx0xxxx
                                                  eret.  */
-                                              return 635;
+                                              return 641;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -11904,7 +15655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x1010110x10xxxxxxxxxxxxxxxx0xxxx
                                              ret.  */
                                              10987654321098765432109876543210
                                              x1010110x10xxxxxxxxxxxxxxxx0xxxx
                                              ret.  */
-                                          return 634;
+                                          return 640;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -11915,7 +15666,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x10101100x1xxxxxxxxxxxxxxxx0xxxx
                                              blr.  */
                                              10987654321098765432109876543210
                                              x10101100x1xxxxxxxxxxxxxxxx0xxxx
                                              blr.  */
-                                          return 633;
+                                          return 639;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -11923,7 +15674,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x10101101x1xxxxxxxxxxxxxxxx0xxxx
                                              drps.  */
                                              10987654321098765432109876543210
                                              x10101101x1xxxxxxxxxxxxxxxx0xxxx
                                              drps.  */
-                                          return 636;
+                                          return 642;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -11942,7 +15693,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10101x0000xxxxxxxxxx0xxxxx1xxxx
                                                  braaz.  */
                                                  10987654321098765432109876543210
                                                  x10101x0000xxxxxxxxxx0xxxxx1xxxx
                                                  braaz.  */
-                                              return 641;
+                                              return 647;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -11950,7 +15701,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10101x0100xxxxxxxxxx0xxxxx1xxxx
                                                  eretaa.  */
                                                  10987654321098765432109876543210
                                                  x10101x0100xxxxxxxxxx0xxxxx1xxxx
                                                  eretaa.  */
-                                              return 647;
+                                              return 653;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -11959,7 +15710,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x10101x0x10xxxxxxxxxx0xxxxx1xxxx
                                              retaa.  */
                                              10987654321098765432109876543210
                                              x10101x0x10xxxxxxxxxx0xxxxx1xxxx
                                              retaa.  */
-                                          return 645;
+                                          return 651;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -11968,7 +15719,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          x10101x0xx1xxxxxxxxxx0xxxxx1xxxx
                                          blraaz.  */
                                          10987654321098765432109876543210
                                          x10101x0xx1xxxxxxxxxx0xxxxx1xxxx
                                          blraaz.  */
-                                      return 643;
+                                      return 649;
                                     }
                                 }
                               else
                                     }
                                 }
                               else
@@ -11983,7 +15734,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10101x0000xxxxxxxxxx1xxxxx1xxxx
                                                  brabz.  */
                                                  10987654321098765432109876543210
                                                  x10101x0000xxxxxxxxxx1xxxxx1xxxx
                                                  brabz.  */
-                                              return 642;
+                                              return 648;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -11991,7 +15742,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x10101x0100xxxxxxxxxx1xxxxx1xxxx
                                                  eretab.  */
                                                  10987654321098765432109876543210
                                                  x10101x0100xxxxxxxxxx1xxxxx1xxxx
                                                  eretab.  */
-                                              return 648;
+                                              return 654;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -12000,7 +15751,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x10101x0x10xxxxxxxxxx1xxxxx1xxxx
                                              retab.  */
                                              10987654321098765432109876543210
                                              x10101x0x10xxxxxxxxxx1xxxxx1xxxx
                                              retab.  */
-                                          return 646;
+                                          return 652;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -12009,7 +15760,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          x10101x0xx1xxxxxxxxxx1xxxxx1xxxx
                                          blrabz.  */
                                          10987654321098765432109876543210
                                          x10101x0xx1xxxxxxxxxx1xxxxx1xxxx
                                          blrabz.  */
-                                      return 644;
+                                      return 650;
                                     }
                                 }
                             }
                                     }
                                 }
                             }
@@ -12023,8 +15774,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
                                      x1010101xx0xxxxxxxxxxxxxxxxxxxxx
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
                                      x1010101xx0xxxxxxxxxxxxxxxxxxxxx
-                                     msr.  */
-                                  return 1157;
+                                     xaflag.  */
+                                  return 810;
                                 }
                               else
                                 {
                                 }
                               else
                                 {
@@ -12034,7 +15785,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          x1010111xx0xxxxxxxxxx0xxxxxxxxxx
                                          braa.  */
                                          10987654321098765432109876543210
                                          x1010111xx0xxxxxxxxxx0xxxxxxxxxx
                                          braa.  */
-                                      return 637;
+                                      return 643;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -12042,7 +15793,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          x1010111xx0xxxxxxxxxx1xxxxxxxxxx
                                          brab.  */
                                          10987654321098765432109876543210
                                          x1010111xx0xxxxxxxxxx1xxxxxxxxxx
                                          brab.  */
-                                      return 638;
+                                      return 644;
                                     }
                                 }
                             }
                                     }
                                 }
                             }
@@ -12053,8 +15804,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
                                      x1010101xx1xxxxxxxxxxxxxxxxxxxxx
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
                                      x1010101xx1xxxxxxxxxxxxxxxxxxxxx
-                                     sysl.  */
-                                  return 1185;
+                                     tstart.  */
+                                  return 1188;
                                 }
                               else
                                 {
                                 }
                               else
                                 {
@@ -12064,7 +15815,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          x1010111xx1xxxxxxxxxx0xxxxxxxxxx
                                          blraa.  */
                                          10987654321098765432109876543210
                                          x1010111xx1xxxxxxxxxx0xxxxxxxxxx
                                          blraa.  */
-                                      return 639;
+                                      return 645;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -12072,7 +15823,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          x1010111xx1xxxxxxxxxx1xxxxxxxxxx
                                          blrab.  */
                                          10987654321098765432109876543210
                                          x1010111xx1xxxxxxxxxx1xxxxxxxxxx
                                          blrab.  */
-                                      return 640;
+                                      return 646;
                                     }
                                 }
                             }
                                     }
                                 }
                             }
@@ -12089,7 +15840,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xx110100xxxxxxxxxxxxxxxxxxxxxxxx
                              cbz.  */
                              10987654321098765432109876543210
                              xx110100xxxxxxxxxxxxxxxxxxxxxxxx
                              cbz.  */
-                          return 649;
+                          return 655;
                         }
                       else
                         {
                         }
                       else
                         {
@@ -12097,7 +15848,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xx110110xxxxxxxxxxxxxxxxxxxxxxxx
                              tbz.  */
                              10987654321098765432109876543210
                              xx110110xxxxxxxxxxxxxxxxxxxxxxxx
                              tbz.  */
-                          return 1195;
+                          return 1235;
                         }
                     }
                   else
                         }
                     }
                   else
@@ -12108,7 +15859,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xx110101xxxxxxxxxxxxxxxxxxxxxxxx
                              cbnz.  */
                              10987654321098765432109876543210
                              xx110101xxxxxxxxxxxxxxxxxxxxxxxx
                              cbnz.  */
-                          return 650;
+                          return 656;
                         }
                       else
                         {
                         }
                       else
                         {
@@ -12116,7 +15867,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xx110111xxxxxxxxxxxxxxxxxxxxxxxx
                              tbnz.  */
                              10987654321098765432109876543210
                              xx110111xxxxxxxxxxxxxxxxxxxxxxxx
                              tbnz.  */
-                          return 1196;
+                          return 1236;
                         }
                     }
                 }
                         }
                     }
                 }
@@ -12140,7 +15891,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xx00110000xxxxxxxxxxxxxxxxxxxxxx
                                      st4.  */
                                      10987654321098765432109876543210
                                      xx00110000xxxxxxxxxxxxxxxxxxxxxx
                                      st4.  */
-                                  return 434;
+                                  return 440;
                                 }
                               else
                                 {
                                 }
                               else
                                 {
@@ -12148,7 +15899,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xx10110000xxxxxxxxxxxxxxxxxxxxxx
                                      stnp.  */
                                      10987654321098765432109876543210
                                      xx10110000xxxxxxxxxxxxxxxxxxxxxx
                                      stnp.  */
-                                  return 943;
+                                  return 972;
                                 }
                             }
                           else
                                 }
                             }
                           else
@@ -12163,7 +15914,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx001101000xxxxxxx0xxxxxxxxxxxxx
                                              st1.  */
                                              10987654321098765432109876543210
                                              xx001101000xxxxxxx0xxxxxxxxxxxxx
                                              st1.  */
-                                          return 450;
+                                          return 456;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -12171,7 +15922,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx001101001xxxxxxx0xxxxxxxxxxxxx
                                              st2.  */
                                              10987654321098765432109876543210
                                              xx001101001xxxxxxx0xxxxxxxxxxxxx
                                              st2.  */
-                                          return 452;
+                                          return 458;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -12182,7 +15933,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx001101000xxxxxxx1xxxxxxxxxxxxx
                                              st3.  */
                                              10987654321098765432109876543210
                                              xx001101000xxxxxxx1xxxxxxxxxxxxx
                                              st3.  */
-                                          return 451;
+                                          return 457;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -12190,7 +15941,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx001101001xxxxxxx1xxxxxxxxxxxxx
                                              st4.  */
                                              10987654321098765432109876543210
                                              xx001101001xxxxxxx1xxxxxxxxxxxxx
                                              st4.  */
-                                          return 453;
+                                          return 459;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -12200,7 +15951,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xx10110100xxxxxxxxxxxxxxxxxxxxxx
                                      stp.  */
                                      10987654321098765432109876543210
                                      xx10110100xxxxxxxxxxxxxxxxxxxxxx
                                      stp.  */
-                                  return 947;
+                                  return 976;
                                 }
                             }
                         }
                                 }
                             }
                         }
@@ -12216,7 +15967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx001100100xxxxxxxxxxxxxxxxxxxxx
                                          st4.  */
                                          10987654321098765432109876543210
                                          xx001100100xxxxxxxxxxxxxxxxxxxxx
                                          st4.  */
-                                      return 442;
+                                      return 448;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -12226,7 +15977,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx001101100xxxxxxx0xxxxxxxxxxxxx
                                              st1.  */
                                              10987654321098765432109876543210
                                              xx001101100xxxxxxx0xxxxxxxxxxxxx
                                              st1.  */
-                                          return 462;
+                                          return 468;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -12234,7 +15985,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx001101100xxxxxxx1xxxxxxxxxxxxx
                                              st3.  */
                                              10987654321098765432109876543210
                                              xx001101100xxxxxxx1xxxxxxxxxxxxx
                                              st3.  */
-                                          return 463;
+                                          return 469;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -12246,7 +15997,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx00110x101xxxxxxx0xxxxxxxxxxxxx
                                          st2.  */
                                          10987654321098765432109876543210
                                          xx00110x101xxxxxxx0xxxxxxxxxxxxx
                                          st2.  */
-                                      return 464;
+                                      return 470;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -12254,7 +16005,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx00110x101xxxxxxx1xxxxxxxxxxxxx
                                          st4.  */
                                          10987654321098765432109876543210
                                          xx00110x101xxxxxxx1xxxxxxxxxxxxx
                                          st4.  */
-                                      return 465;
+                                      return 471;
                                     }
                                 }
                             }
                                     }
                                 }
                             }
@@ -12264,7 +16015,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xx10110x10xxxxxxxxxxxxxxxxxxxxxx
                                  stp.  */
                                  10987654321098765432109876543210
                                  xx10110x10xxxxxxxxxxxxxxxxxxxxxx
                                  stp.  */
-                              return 952;
+                              return 982;
                             }
                         }
                     }
                             }
                         }
                     }
@@ -12280,7 +16031,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xx00110001xxxxxxxxxxxxxxxxxxxxxx
                                      ld4.  */
                                      10987654321098765432109876543210
                                      xx00110001xxxxxxxxxxxxxxxxxxxxxx
                                      ld4.  */
-                                  return 438;
+                                  return 444;
                                 }
                               else
                                 {
                                 }
                               else
                                 {
@@ -12288,7 +16039,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xx10110001xxxxxxxxxxxxxxxxxxxxxx
                                      ldnp.  */
                                      10987654321098765432109876543210
                                      xx10110001xxxxxxxxxxxxxxxxxxxxxx
                                      ldnp.  */
-                                  return 944;
+                                  return 973;
                                 }
                             }
                           else
                                 }
                             }
                           else
@@ -12303,7 +16054,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx001101010xxxxxxx0xxxxxxxxxxxxx
                                              ld1.  */
                                              10987654321098765432109876543210
                                              xx001101010xxxxxxx0xxxxxxxxxxxxx
                                              ld1.  */
-                                          return 454;
+                                          return 460;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -12311,7 +16062,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx001101011xxxxxxx0xxxxxxxxxxxxx
                                              ld2.  */
                                              10987654321098765432109876543210
                                              xx001101011xxxxxxx0xxxxxxxxxxxxx
                                              ld2.  */
-                                          return 458;
+                                          return 464;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -12322,7 +16073,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx001101010xxxxxxx1xxxxxxxxxxxxx
                                              ld3.  */
                                              10987654321098765432109876543210
                                              xx001101010xxxxxxx1xxxxxxxxxxxxx
                                              ld3.  */
-                                          return 455;
+                                          return 461;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -12330,7 +16081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx001101011xxxxxxx1xxxxxxxxxxxxx
                                              ld4.  */
                                              10987654321098765432109876543210
                                              xx001101011xxxxxxx1xxxxxxxxxxxxx
                                              ld4.  */
-                                          return 459;
+                                          return 465;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -12340,7 +16091,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xx10110101xxxxxxxxxxxxxxxxxxxxxx
                                      ldp.  */
                                      10987654321098765432109876543210
                                      xx10110101xxxxxxxxxxxxxxxxxxxxxx
                                      ldp.  */
-                                  return 948;
+                                  return 977;
                                 }
                             }
                         }
                                 }
                             }
                         }
@@ -12356,7 +16107,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx001100110xxxxxxxxxxxxxxxxxxxxx
                                          ld4.  */
                                          10987654321098765432109876543210
                                          xx001100110xxxxxxxxxxxxxxxxxxxxx
                                          ld4.  */
-                                      return 446;
+                                      return 452;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -12366,7 +16117,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx001101110xxxxxxx0xxxxxxxxxxxxx
                                              ld1.  */
                                              10987654321098765432109876543210
                                              xx001101110xxxxxxx0xxxxxxxxxxxxx
                                              ld1.  */
-                                          return 466;
+                                          return 472;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -12374,7 +16125,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx001101110xxxxxxx1xxxxxxxxxxxxx
                                              ld3.  */
                                              10987654321098765432109876543210
                                              xx001101110xxxxxxx1xxxxxxxxxxxxx
                                              ld3.  */
-                                          return 467;
+                                          return 473;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -12386,7 +16137,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx00110x111xxxxxxx0xxxxxxxxxxxxx
                                          ld2.  */
                                          10987654321098765432109876543210
                                          xx00110x111xxxxxxx0xxxxxxxxxxxxx
                                          ld2.  */
-                                      return 470;
+                                      return 476;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -12394,7 +16145,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx00110x111xxxxxxx1xxxxxxxxxxxxx
                                          ld4.  */
                                          10987654321098765432109876543210
                                          xx00110x111xxxxxxx1xxxxxxxxxxxxx
                                          ld4.  */
-                                      return 471;
+                                      return 477;
                                     }
                                 }
                             }
                                     }
                                 }
                             }
@@ -12404,7 +16155,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xx10110x11xxxxxxxxxxxxxxxxxxxxxx
                                  ldp.  */
                                  10987654321098765432109876543210
                                  xx10110x11xxxxxxxxxxxxxxxxxxxxxx
                                  ldp.  */
-                              return 953;
+                              return 983;
                             }
                         }
                     }
                             }
                         }
                     }
@@ -12419,7 +16170,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xx011100xxxxxxxxxxxxxxxxxxxxxxxx
                              ldr.  */
                              10987654321098765432109876543210
                              xx011100xxxxxxxxxxxxxxxxxxxxxxxx
                              ldr.  */
-                          return 956;
+                          return 987;
                         }
                       else
                         {
                         }
                       else
                         {
@@ -12433,7 +16184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx111100x0xxxxxxxxxx00xxxxxxxxxx
                                          stur.  */
                                          10987654321098765432109876543210
                                          xx111100x0xxxxxxxxxx00xxxxxxxxxx
                                          stur.  */
-                                      return 899;
+                                      return 924;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -12441,7 +16192,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx111100x1xxxxxxxxxx00xxxxxxxxxx
                                          ldur.  */
                                          10987654321098765432109876543210
                                          xx111100x1xxxxxxxxxx00xxxxxxxxxx
                                          ldur.  */
-                                      return 900;
+                                      return 925;
                                     }
                                 }
                               else
                                     }
                                 }
                               else
@@ -12452,7 +16203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx111100x0xxxxxxxxxx10xxxxxxxxxx
                                          str.  */
                                          10987654321098765432109876543210
                                          xx111100x0xxxxxxxxxx10xxxxxxxxxx
                                          str.  */
-                                      return 878;
+                                      return 903;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -12460,7 +16211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx111100x1xxxxxxxxxx10xxxxxxxxxx
                                          ldr.  */
                                          10987654321098765432109876543210
                                          xx111100x1xxxxxxxxxx10xxxxxxxxxx
                                          ldr.  */
-                                      return 879;
+                                      return 904;
                                     }
                                 }
                             }
                                     }
                                 }
                             }
@@ -12472,7 +16223,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xx111100x0xxxxxxxxxxx1xxxxxxxxxx
                                      str.  */
                                      10987654321098765432109876543210
                                      xx111100x0xxxxxxxxxxx1xxxxxxxxxx
                                      str.  */
-                                  return 855;
+                                  return 872;
                                 }
                               else
                                 {
                                 }
                               else
                                 {
@@ -12480,7 +16231,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xx111100x1xxxxxxxxxxx1xxxxxxxxxx
                                      ldr.  */
                                      10987654321098765432109876543210
                                      xx111100x1xxxxxxxxxxx1xxxxxxxxxx
                                      ldr.  */
-                                  return 856;
+                                  return 873;
                                 }
                             }
                         }
                                 }
                             }
                         }
@@ -12493,7 +16244,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxx11101x0xxxxxxxxxxxxxxxxxxxxxx
                              str.  */
                              10987654321098765432109876543210
                              xxx11101x0xxxxxxxxxxxxxxxxxxxxxx
                              str.  */
-                          return 866;
+                          return 891;
                         }
                       else
                         {
                         }
                       else
                         {
@@ -12501,7 +16252,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxx11101x1xxxxxxxxxxxxxxxxxxxxxx
                              ldr.  */
                              10987654321098765432109876543210
                              xxx11101x1xxxxxxxxxxxxxxxxxxxxxx
                              ldr.  */
-                          return 867;
+                          return 892;
                         }
                     }
                 }
                         }
                     }
                 }
@@ -12528,7 +16279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0x001110xx0xxxxxxxx000xxxxxxxxxx
                                                  tbl.  */
                                                  10987654321098765432109876543210
                                                  0x001110xx0xxxxxxxx000xxxxxxxxxx
                                                  tbl.  */
-                                              return 414;
+                                              return 420;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -12536,7 +16287,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  0x001110xx0xxxxxxxx100xxxxxxxxxx
                                                  tbx.  */
                                                  10987654321098765432109876543210
                                                  0x001110xx0xxxxxxxx100xxxxxxxxxx
                                                  tbx.  */
-                                              return 415;
+                                              return 421;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -12549,7 +16300,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      0x001110xx0xxxxxx0x010xxxxxxxxxx
                                                      trn1.  */
                                                      10987654321098765432109876543210
                                                      0x001110xx0xxxxxx0x010xxxxxxxxxx
                                                      trn1.  */
-                                                  return 257;
+                                                  return 263;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -12557,7 +16308,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      0x001110xx0xxxxxx1x010xxxxxxxxxx
                                                      trn2.  */
                                                      10987654321098765432109876543210
                                                      0x001110xx0xxxxxx1x010xxxxxxxxxx
                                                      trn2.  */
-                                                  return 260;
+                                                  return 266;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -12570,7 +16321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxxx00110xxxxxxxxxx
                                                          uzp1.  */
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxxx00110xxxxxxxxxx
                                                          uzp1.  */
-                                                      return 256;
+                                                      return 262;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -12578,7 +16329,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxxx10110xxxxxxxxxx
                                                          uzp2.  */
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxxx10110xxxxxxxxxx
                                                          uzp2.  */
-                                                      return 259;
+                                                      return 265;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -12589,7 +16340,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxxx01110xxxxxxxxxx
                                                          zip1.  */
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxxx01110xxxxxxxxxx
                                                          zip1.  */
-                                                      return 258;
+                                                      return 264;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -12597,7 +16348,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxxx11110xxxxxxxxxx
                                                          zip2.  */
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxxx11110xxxxxxxxxx
                                                          zip2.  */
-                                                      return 261;
+                                                      return 267;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -12617,7 +16368,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110x00xxxxxxx0001xxxxxxxxxx
                                                          dup.  */
                                                          10987654321098765432109876543210
                                                          0x001110x00xxxxxxx0001xxxxxxxxxx
                                                          dup.  */
-                                                      return 147;
+                                                      return 149;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -12627,7 +16378,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110010xxxxxxx0001xxxxxxxxxx
                                                              fmaxnm.  */
                                                              10987654321098765432109876543210
                                                              0x001110010xxxxxxx0001xxxxxxxxxx
                                                              fmaxnm.  */
-                                                          return 286;
+                                                          return 292;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -12635,17 +16386,28 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110110xxxxxxx0001xxxxxxxxxx
                                                              fminnm.  */
                                                              10987654321098765432109876543210
                                                              0x001110110xxxxxxx0001xxxxxxxxxx
                                                              fminnm.  */
-                                                          return 302;
+                                                          return 308;
                                                         }
                                                     }
                                                 }
                                               else
                                                 {
                                                         }
                                                     }
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     0x001110xx0xxxxxxx1001xxxxxxxxxx
-                                                     fcmeq.  */
-                                                  return 294;
+                                                  if (((word >> 15) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         0x001110xx0xxxxx0x1001xxxxxxxxxx
+                                                         fcmeq.  */
+                                                      return 300;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         0x001110xx0xxxxx1x1001xxxxxxxxxx
+                                                         smmla.  */
+                                                      return 2413;
+                                                    }
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -12660,7 +16422,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x0011100x0xxxxx0x0101xxxxxxxxxx
                                                              fadd.  */
                                                              10987654321098765432109876543210
                                                              0x0011100x0xxxxx0x0101xxxxxxxxxx
                                                              fadd.  */
-                                                          return 290;
+                                                          return 296;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -12668,7 +16430,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x0011101x0xxxxx0x0101xxxxxxxxxx
                                                              fsub.  */
                                                              10987654321098765432109876543210
                                                              0x0011101x0xxxxx0x0101xxxxxxxxxx
                                                              fsub.  */
-                                                          return 306;
+                                                          return 312;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -12677,7 +16439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxx1x0101xxxxxxxxxx
                                                          sdot.  */
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxx1x0101xxxxxxxxxx
                                                          sdot.  */
-                                                      return 2006;
+                                                      return 2337;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -12688,7 +16450,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x0011100x0xxxxxxx1101xxxxxxxxxx
                                                          fmax.  */
                                                          10987654321098765432109876543210
                                                          0x0011100x0xxxxxxx1101xxxxxxxxxx
                                                          fmax.  */
-                                                      return 296;
+                                                      return 302;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -12696,7 +16458,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x0011101x0xxxxxxx1101xxxxxxxxxx
                                                          fmin.  */
                                                          10987654321098765432109876543210
                                                          0x0011101x0xxxxxxx1101xxxxxxxxxx
                                                          fmin.  */
-                                                      return 308;
+                                                      return 314;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -12713,7 +16475,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110x00xxxxxxx0011xxxxxxxxxx
                                                          dup.  */
                                                          10987654321098765432109876543210
                                                          0x001110x00xxxxxxx0011xxxxxxxxxx
                                                          dup.  */
-                                                      return 148;
+                                                      return 150;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -12723,7 +16485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110010xxxxxxx0011xxxxxxxxxx
                                                              fmla.  */
                                                              10987654321098765432109876543210
                                                              0x001110010xxxxxxx0011xxxxxxxxxx
                                                              fmla.  */
-                                                          return 288;
+                                                          return 294;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -12731,38 +16493,60 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110110xxxxxxx0011xxxxxxxxxx
                                                              fmls.  */
                                                              10987654321098765432109876543210
                                                              0x001110110xxxxxxx0011xxxxxxxxxx
                                                              fmls.  */
-                                                          return 304;
+                                                          return 310;
                                                         }
                                                     }
                                                 }
                                               else
                                                 {
                                                         }
                                                     }
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     0x001110xx0xxxxxxx1011xxxxxxxxxx
-                                                     smov.  */
-                                                  return 149;
+                                                  if (((word >> 15) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         0x001110xx0xxxxx0x1011xxxxxxxxxx
+                                                         smov.  */
+                                                      return 151;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         0x001110xx0xxxxx1x1011xxxxxxxxxx
+                                                         usmmla.  */
+                                                      return 2415;
+                                                    }
                                                 }
                                             }
                                           else
                                             {
                                               if (((word >> 13) & 0x1) == 0)
                                                 {
                                                 }
                                             }
                                           else
                                             {
                                               if (((word >> 13) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 22) & 0x1) == 0)
+                                                  if (((word >> 15) & 0x1) == 0)
                                                     {
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         0x001110x00xxxxxxx0111xxxxxxxxxx
-                                                         ins.  */
-                                                      return 152;
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             0x001110x00xxxxx0x0111xxxxxxxxxx
+                                                             ins.  */
+                                                          return 154;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             0x001110x10xxxxx0x0111xxxxxxxxxx
+                                                             fmulx.  */
+                                                          return 298;
+                                                        }
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         0x001110x10xxxxxxx0111xxxxxxxxxx
-                                                         fmulx.  */
-                                                      return 292;
+                                                         0x001110xx0xxxxx1x0111xxxxxxxxxx
+                                                         usdot.  */
+                                                      return 2416;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -12773,7 +16557,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110x00xxxxxxx1111xxxxxxxxxx
                                                          umov.  */
                                                          10987654321098765432109876543210
                                                          0x001110x00xxxxxxx1111xxxxxxxxxx
                                                          umov.  */
-                                                      return 150;
+                                                      return 152;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -12783,7 +16567,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110010xxxxxxx1111xxxxxxxxxx
                                                              frecps.  */
                                                              10987654321098765432109876543210
                                                              0x001110010xxxxxxx1111xxxxxxxxxx
                                                              frecps.  */
-                                                          return 298;
+                                                          return 304;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -12791,7 +16575,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110110xxxxxxx1111xxxxxxxxxx
                                                              frsqrts.  */
                                                              10987654321098765432109876543210
                                                              0x001110110xxxxxxx1111xxxxxxxxxx
                                                              frsqrts.  */
-                                                          return 310;
+                                                          return 316;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -12809,7 +16593,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x001110000xxxxxxxxxxxxxxxxxxxxx
                                              eor3.  */
                                              10987654321098765432109876543210
                                              1x001110000xxxxxxxxxxxxxxxxxxxxx
                                              eor3.  */
-                                          return 2013;
+                                          return 2344;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -12817,7 +16601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x001110100xxxxxxxxxxxxxxxxxxxxx
                                              xar.  */
                                              10987654321098765432109876543210
                                              1x001110100xxxxxxxxxxxxxxxxxxxxx
                                              xar.  */
-                                          return 2015;
+                                          return 2346;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -12828,7 +16612,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x001110x10xxxxx0xxxxxxxxxxxxxxx
                                              sm3ss1.  */
                                              10987654321098765432109876543210
                                              1x001110x10xxxxx0xxxxxxxxxxxxxxx
                                              sm3ss1.  */
-                                          return 2017;
+                                          return 2348;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -12842,7 +16626,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          1x001110010xxxxx1xxx00xxxxxxxxxx
                                                          sm3tt1a.  */
                                                          10987654321098765432109876543210
                                                          1x001110010xxxxx1xxx00xxxxxxxxxx
                                                          sm3tt1a.  */
-                                                      return 2018;
+                                                      return 2349;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -12850,7 +16634,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          1x001110110xxxxx1xxx00xxxxxxxxxx
                                                          sha512su0.  */
                                                          10987654321098765432109876543210
                                                          1x001110110xxxxx1xxx00xxxxxxxxxx
                                                          sha512su0.  */
-                                                      return 2011;
+                                                      return 2342;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -12859,7 +16643,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      1x001110x10xxxxx1xxx10xxxxxxxxxx
                                                      sm3tt2a.  */
                                                      10987654321098765432109876543210
                                                      1x001110x10xxxxx1xxx10xxxxxxxxxx
                                                      sm3tt2a.  */
-                                                  return 2020;
+                                                  return 2351;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -12872,7 +16656,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          1x001110010xxxxx1xxx01xxxxxxxxxx
                                                          sm3tt1b.  */
                                                          10987654321098765432109876543210
                                                          1x001110010xxxxx1xxx01xxxxxxxxxx
                                                          sm3tt1b.  */
-                                                      return 2019;
+                                                      return 2350;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -12880,7 +16664,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          1x001110110xxxxx1xxx01xxxxxxxxxx
                                                          sm4e.  */
                                                          10987654321098765432109876543210
                                                          1x001110110xxxxx1xxx01xxxxxxxxxx
                                                          sm4e.  */
-                                                      return 2024;
+                                                      return 2355;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -12889,7 +16673,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      1x001110x10xxxxx1xxx11xxxxxxxxxx
                                                      sm3tt2b.  */
                                                      10987654321098765432109876543210
                                                      1x001110x10xxxxx1xxx11xxxxxxxxxx
                                                      sm3tt2b.  */
-                                                  return 2021;
+                                                  return 2352;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -12904,7 +16688,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xx101110xx0xxxxxxxxxx0xxxxxxxxxx
                                      ext.  */
                                      10987654321098765432109876543210
                                      xx101110xx0xxxxxxxxxx0xxxxxxxxxx
                                      ext.  */
-                                  return 130;
+                                  return 132;
                                 }
                               else
                                 {
                                 }
                               else
                                 {
@@ -12916,7 +16700,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx101110x00xxxxx0xxxx1xxxxxxxxxx
                                              ins.  */
                                              10987654321098765432109876543210
                                              xx101110x00xxxxx0xxxx1xxxxxxxxxx
                                              ins.  */
-                                          return 154;
+                                          return 156;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -12932,7 +16716,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110010xxxxx0x0001xxxxxxxxxx
                                                              fmaxnmp.  */
                                                              10987654321098765432109876543210
                                                              xx101110010xxxxx0x0001xxxxxxxxxx
                                                              fmaxnmp.  */
-                                                          return 337;
+                                                          return 343;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -12940,7 +16724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110110xxxxx0x0001xxxxxxxxxx
                                                              fminnmp.  */
                                                              10987654321098765432109876543210
                                                              xx101110110xxxxx0x0001xxxxxxxxxx
                                                              fminnmp.  */
-                                                          return 353;
+                                                          return 359;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -12951,7 +16735,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110010xxxxx0x1001xxxxxxxxxx
                                                              fcmge.  */
                                                              10987654321098765432109876543210
                                                              xx101110010xxxxx0x1001xxxxxxxxxx
                                                              fcmge.  */
-                                                          return 343;
+                                                          return 349;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -12959,7 +16743,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110110xxxxx0x1001xxxxxxxxxx
                                                              fcmgt.  */
                                                              10987654321098765432109876543210
                                                              xx101110110xxxxx0x1001xxxxxxxxxx
                                                              fcmgt.  */
-                                                          return 357;
+                                                          return 363;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -12973,7 +16757,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110010xxxxx0x0101xxxxxxxxxx
                                                              faddp.  */
                                                              10987654321098765432109876543210
                                                              xx101110010xxxxx0x0101xxxxxxxxxx
                                                              faddp.  */
-                                                          return 339;
+                                                          return 345;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -12981,7 +16765,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110110xxxxx0x0101xxxxxxxxxx
                                                              fabd.  */
                                                              10987654321098765432109876543210
                                                              xx101110110xxxxx0x0101xxxxxxxxxx
                                                              fabd.  */
-                                                          return 355;
+                                                          return 361;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -12992,7 +16776,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110010xxxxx0x1101xxxxxxxxxx
                                                              fmaxp.  */
                                                              10987654321098765432109876543210
                                                              xx101110010xxxxx0x1101xxxxxxxxxx
                                                              fmaxp.  */
-                                                          return 347;
+                                                          return 353;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -13000,7 +16784,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110110xxxxx0x1101xxxxxxxxxx
                                                              fminp.  */
                                                              10987654321098765432109876543210
                                                              xx101110110xxxxx0x1101xxxxxxxxxx
                                                              fminp.  */
-                                                          return 361;
+                                                          return 367;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -13015,7 +16799,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110010xxxxx0xx011xxxxxxxxxx
                                                          facge.  */
                                                          10987654321098765432109876543210
                                                          xx101110010xxxxx0xx011xxxxxxxxxx
                                                          facge.  */
-                                                      return 345;
+                                                      return 351;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -13023,7 +16807,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110110xxxxx0xx011xxxxxxxxxx
                                                          facgt.  */
                                                          10987654321098765432109876543210
                                                          xx101110110xxxxx0xx011xxxxxxxxxx
                                                          facgt.  */
-                                                      return 359;
+                                                      return 365;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -13034,7 +16818,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110x10xxxxx0x0111xxxxxxxxxx
                                                          fmul.  */
                                                          10987654321098765432109876543210
                                                          xx101110x10xxxxx0x0111xxxxxxxxxx
                                                          fmul.  */
-                                                      return 341;
+                                                      return 347;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -13042,7 +16826,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110x10xxxxx0x1111xxxxxxxxxx
                                                          fdiv.  */
                                                          10987654321098765432109876543210
                                                          xx101110x10xxxxx0x1111xxxxxxxxxx
                                                          fdiv.  */
-                                                      return 349;
+                                                      return 355;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -13062,7 +16846,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx0xxxxx100001xxxxxxxxxx
                                                          sqrdmlah.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx0xxxxx100001xxxxxxxxxx
                                                          sqrdmlah.  */
-                                                      return 364;
+                                                      return 370;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -13070,7 +16854,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx0xxxxx100101xxxxxxxxxx
                                                          udot.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx0xxxxx100101xxxxxxxxxx
                                                          udot.  */
-                                                      return 2005;
+                                                      return 2336;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -13079,7 +16863,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx101110xx0xxxxx100x11xxxxxxxxxx
                                                      sqrdmlsh.  */
                                                      10987654321098765432109876543210
                                                      xx101110xx0xxxxx100x11xxxxxxxxxx
                                                      sqrdmlsh.  */
-                                                  return 365;
+                                                  return 371;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -13088,16 +16872,71 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx101110xx0xxxxx110xx1xxxxxxxxxx
                                                  fcmla.  */
                                                  10987654321098765432109876543210
                                                  xx101110xx0xxxxx110xx1xxxxxxxxxx
                                                  fcmla.  */
-                                              return 366;
+                                              return 372;
                                             }
                                         }
                                       else
                                         {
                                             }
                                         }
                                       else
                                         {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xx101110xx0xxxxx1x1xx1xxxxxxxxxx
-                                             fcadd.  */
-                                          return 367;
+                                          if (((word >> 11) & 0x1) == 0)
+                                            {
+                                              if (((word >> 14) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xx101110xx0xxxxx101x01xxxxxxxxxx
+                                                     ummla.  */
+                                                  return 2414;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xx101110xx0xxxxx111x01xxxxxxxxxx
+                                                     fcadd.  */
+                                                  return 373;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 12) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xx101110xx0xxxxx1x1011xxxxxxxxxx
+                                                     bfmmla.  */
+                                                  return 2430;
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xx1011100x0xxxxx1x1111xxxxxxxxxx
+                                                         bfdot.  */
+                                                      return 2428;
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 30) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             x01011101x0xxxxx1x1111xxxxxxxxxx
+                                                             bfmlalb.  */
+                                                          return 2435;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             x11011101x0xxxxx1x1111xxxxxxxxxx
+                                                             bfmlalt.  */
+                                                          return 2434;
+                                                        }
+                                                    }
+                                                }
+                                            }
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -13117,7 +16956,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x0011110xx0xxx00xxxxxxxxxxxxxxxx
                                              fcvtzs.  */
                                              10987654321098765432109876543210
                                              x0011110xx0xxx00xxxxxxxxxxxxxxxx
                                              fcvtzs.  */
-                                          return 752;
+                                          return 763;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -13125,7 +16964,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x0011110xx0xxx10xxxxxxxxxxxxxxxx
                                              scvtf.  */
                                              10987654321098765432109876543210
                                              x0011110xx0xxx10xxxxxxxxxxxxxxxx
                                              scvtf.  */
-                                          return 748;
+                                          return 759;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -13136,7 +16975,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x0011110xx0xxx01xxxxxxxxxxxxxxxx
                                              fcvtzu.  */
                                              10987654321098765432109876543210
                                              x0011110xx0xxx01xxxxxxxxxxxxxxxx
                                              fcvtzu.  */
-                                          return 754;
+                                          return 765;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -13144,7 +16983,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x0011110xx0xxx11xxxxxxxxxxxxxxxx
                                              ucvtf.  */
                                              10987654321098765432109876543210
                                              x0011110xx0xxx11xxxxxxxxxxxxxxxx
                                              ucvtf.  */
-                                          return 750;
+                                          return 761;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -13162,7 +17001,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011110xx0xxxxxx000x0xxxxxxxxxx
                                                      sha1c.  */
                                                      10987654321098765432109876543210
                                                      x1011110xx0xxxxxx000x0xxxxxxxxxx
                                                      sha1c.  */
-                                                  return 672;
+                                                  return 678;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -13170,7 +17009,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011110xx0xxxxxx100x0xxxxxxxxxx
                                                      sha256h.  */
                                                      10987654321098765432109876543210
                                                      x1011110xx0xxxxxx100x0xxxxxxxxxx
                                                      sha256h.  */
-                                                  return 676;
+                                                  return 682;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -13181,7 +17020,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011110xx0xxxxxx010x0xxxxxxxxxx
                                                      sha1m.  */
                                                      10987654321098765432109876543210
                                                      x1011110xx0xxxxxx010x0xxxxxxxxxx
                                                      sha1m.  */
-                                                  return 674;
+                                                  return 680;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -13189,7 +17028,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011110xx0xxxxxx110x0xxxxxxxxxx
                                                      sha256su1.  */
                                                      10987654321098765432109876543210
                                                      x1011110xx0xxxxxx110x0xxxxxxxxxx
                                                      sha256su1.  */
-                                                  return 678;
+                                                  return 684;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -13203,7 +17042,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011110xx0xxxxxx001x0xxxxxxxxxx
                                                      sha1p.  */
                                                      10987654321098765432109876543210
                                                      x1011110xx0xxxxxx001x0xxxxxxxxxx
                                                      sha1p.  */
-                                                  return 673;
+                                                  return 679;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -13211,7 +17050,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011110xx0xxxxxx101x0xxxxxxxxxx
                                                      sha256h2.  */
                                                      10987654321098765432109876543210
                                                      x1011110xx0xxxxxx101x0xxxxxxxxxx
                                                      sha256h2.  */
-                                                  return 677;
+                                                  return 683;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -13220,7 +17059,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1011110xx0xxxxxxx11x0xxxxxxxxxx
                                                  sha1su0.  */
                                                  10987654321098765432109876543210
                                                  x1011110xx0xxxxxxx11x0xxxxxxxxxx
                                                  sha1su0.  */
-                                              return 675;
+                                              return 681;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -13234,7 +17073,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1011110xx0xxxxxxx0x01xxxxxxxxxx
                                                  dup.  */
                                                  10987654321098765432109876543210
                                                  x1011110xx0xxxxxxx0x01xxxxxxxxxx
                                                  dup.  */
-                                              return 529;
+                                              return 535;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -13242,7 +17081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1011110xx0xxxxxxx1x01xxxxxxxxxx
                                                  fcmeq.  */
                                                  10987654321098765432109876543210
                                                  x1011110xx0xxxxxxx1x01xxxxxxxxxx
                                                  fcmeq.  */
-                                              return 550;
+                                              return 556;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -13253,7 +17092,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1011110xx0xxxxxxx0x11xxxxxxxxxx
                                                  fmulx.  */
                                                  10987654321098765432109876543210
                                                  x1011110xx0xxxxxxx0x11xxxxxxxxxx
                                                  fmulx.  */
-                                              return 548;
+                                              return 554;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -13263,7 +17102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10111100x0xxxxxxx1x11xxxxxxxxxx
                                                      frecps.  */
                                                      10987654321098765432109876543210
                                                      x10111100x0xxxxxxx1x11xxxxxxxxxx
                                                      frecps.  */
-                                                  return 552;
+                                                  return 558;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -13271,7 +17110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10111101x0xxxxxxx1x11xxxxxxxxxx
                                                      frsqrts.  */
                                                      10987654321098765432109876543210
                                                      x10111101x0xxxxxxx1x11xxxxxxxxxx
                                                      frsqrts.  */
-                                                  return 554;
+                                                  return 560;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -13290,7 +17129,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx111110xx0xxxxxxx000xxxxxxxxxxx
                                              sqrdmlah.  */
                                              10987654321098765432109876543210
                                              xx111110xx0xxxxxxx000xxxxxxxxxxx
                                              sqrdmlah.  */
-                                          return 582;
+                                          return 588;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -13300,7 +17139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx1111100x0xxxxxxx100xxxxxxxxxxx
                                                  fcmge.  */
                                                  10987654321098765432109876543210
                                                  xx1111100x0xxxxxxx100xxxxxxxxxxx
                                                  fcmge.  */
-                                              return 567;
+                                              return 573;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -13308,7 +17147,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx1111101x0xxxxxxx100xxxxxxxxxxx
                                                  fcmgt.  */
                                                  10987654321098765432109876543210
                                                  xx1111101x0xxxxxxx100xxxxxxxxxxx
                                                  fcmgt.  */
-                                              return 573;
+                                              return 579;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -13318,7 +17157,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx111110xx0xxxxxxxx10xxxxxxxxxxx
                                          fabd.  */
                                          10987654321098765432109876543210
                                          xx111110xx0xxxxxxxx10xxxxxxxxxxx
                                          fabd.  */
-                                      return 571;
+                                      return 577;
                                     }
                                 }
                               else
                                     }
                                 }
                               else
@@ -13329,7 +17168,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx111110xx0xxxxxxx0x1xxxxxxxxxxx
                                          sqrdmlsh.  */
                                          10987654321098765432109876543210
                                          xx111110xx0xxxxxxx0x1xxxxxxxxxxx
                                          sqrdmlsh.  */
-                                      return 583;
+                                      return 589;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -13339,7 +17178,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx1111100x0xxxxxxx1x1xxxxxxxxxxx
                                              facge.  */
                                              10987654321098765432109876543210
                                              xx1111100x0xxxxxxx1x1xxxxxxxxxxx
                                              facge.  */
-                                          return 569;
+                                          return 575;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -13347,7 +17186,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx1111101x0xxxxxxx1x1xxxxxxxxxxx
                                              facgt.  */
                                              10987654321098765432109876543210
                                              xx1111101x0xxxxxxx1x1xxxxxxxxxxx
                                              facgt.  */
-                                          return 575;
+                                          return 581;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -13380,7 +17219,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110xx1xxxxx000000xxxxxxxxxx
                                                                  saddl.  */
                                                                  10987654321098765432109876543210
                                                                  00001110xx1xxxxx000000xxxxxxxxxx
                                                                  saddl.  */
-                                                              return 42;
+                                                              return 44;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -13388,7 +17227,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx000000xxxxxxxxxx
                                                                  saddl2.  */
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx000000xxxxxxxxxx
                                                                  saddl2.  */
-                                                              return 43;
+                                                              return 45;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -13399,7 +17238,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110xx1xxxxx010000xxxxxxxxxx
                                                                  addhn.  */
                                                                  10987654321098765432109876543210
                                                                  00001110xx1xxxxx010000xxxxxxxxxx
                                                                  addhn.  */
-                                                              return 50;
+                                                              return 52;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -13407,7 +17246,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx010000xxxxxxxxxx
                                                                  addhn2.  */
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx010000xxxxxxxxxx
                                                                  addhn2.  */
-                                                              return 51;
+                                                              return 53;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -13421,7 +17260,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110xx1xxxxx001000xxxxxxxxxx
                                                                  ssubl.  */
                                                                  10987654321098765432109876543210
                                                                  00001110xx1xxxxx001000xxxxxxxxxx
                                                                  ssubl.  */
-                                                              return 46;
+                                                              return 48;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -13429,7 +17268,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx001000xxxxxxxxxx
                                                                  ssubl2.  */
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx001000xxxxxxxxxx
                                                                  ssubl2.  */
-                                                              return 47;
+                                                              return 49;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -13440,7 +17279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110xx1xxxxx011000xxxxxxxxxx
                                                                  subhn.  */
                                                                  10987654321098765432109876543210
                                                                  00001110xx1xxxxx011000xxxxxxxxxx
                                                                  subhn.  */
-                                                              return 54;
+                                                              return 56;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -13448,7 +17287,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx011000xxxxxxxxxx
                                                                  subhn2.  */
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx011000xxxxxxxxxx
                                                                  subhn2.  */
-                                                              return 55;
+                                                              return 57;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -13465,7 +17304,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110xx1xxxxx000100xxxxxxxxxx
                                                                  saddw.  */
                                                                  10987654321098765432109876543210
                                                                  00001110xx1xxxxx000100xxxxxxxxxx
                                                                  saddw.  */
-                                                              return 44;
+                                                              return 46;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -13473,7 +17312,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx000100xxxxxxxxxx
                                                                  saddw2.  */
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx000100xxxxxxxxxx
                                                                  saddw2.  */
-                                                              return 45;
+                                                              return 47;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -13484,7 +17323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110xx1xxxxx010100xxxxxxxxxx
                                                                  sabal.  */
                                                                  10987654321098765432109876543210
                                                                  00001110xx1xxxxx010100xxxxxxxxxx
                                                                  sabal.  */
-                                                              return 52;
+                                                              return 54;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -13492,7 +17331,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx010100xxxxxxxxxx
                                                                  sabal2.  */
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx010100xxxxxxxxxx
                                                                  sabal2.  */
-                                                              return 53;
+                                                              return 55;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -13506,7 +17345,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110xx1xxxxx001100xxxxxxxxxx
                                                                  ssubw.  */
                                                                  10987654321098765432109876543210
                                                                  00001110xx1xxxxx001100xxxxxxxxxx
                                                                  ssubw.  */
-                                                              return 48;
+                                                              return 50;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -13514,7 +17353,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx001100xxxxxxxxxx
                                                                  ssubw2.  */
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx001100xxxxxxxxxx
                                                                  ssubw2.  */
-                                                              return 49;
+                                                              return 51;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -13525,7 +17364,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110xx1xxxxx011100xxxxxxxxxx
                                                                  sabdl.  */
                                                                  10987654321098765432109876543210
                                                                  00001110xx1xxxxx011100xxxxxxxxxx
                                                                  sabdl.  */
-                                                              return 56;
+                                                              return 58;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -13533,7 +17372,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx011100xxxxxxxxxx
                                                                  sabdl2.  */
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx011100xxxxxxxxxx
                                                                  sabdl2.  */
-                                                              return 57;
+                                                              return 59;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -13551,7 +17390,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx000010xxxxxxxxxx
                                                              rev64.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx000010xxxxxxxxxx
                                                              rev64.  */
-                                                          return 156;
+                                                          return 162;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -13563,7 +17402,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      0x001110xx1x0xx0010010xxxxxxxxxx
                                                                      cls.  */
                                                                      10987654321098765432109876543210
                                                                      0x001110xx1x0xx0010010xxxxxxxxxx
                                                                      cls.  */
-                                                                  return 160;
+                                                                  return 166;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -13571,7 +17410,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      0x001110xx1x1xx0010010xxxxxxxxxx
                                                                      aese.  */
                                                                      10987654321098765432109876543210
                                                                      0x001110xx1x1xx0010010xxxxxxxxxx
                                                                      aese.  */
-                                                                  return 665;
+                                                                  return 671;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -13582,7 +17421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00001110xx1xxxx1010010xxxxxxxxxx
                                                                      sqxtn.  */
                                                                      10987654321098765432109876543210
                                                                      00001110xx1xxxx1010010xxxxxxxxxx
                                                                      sqxtn.  */
-                                                                  return 170;
+                                                                  return 176;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -13590,7 +17429,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01001110xx1xxxx1010010xxxxxxxxxx
                                                                      sqxtn2.  */
                                                                      10987654321098765432109876543210
                                                                      01001110xx1xxxx1010010xxxxxxxxxx
                                                                      sqxtn2.  */
-                                                                  return 171;
+                                                                  return 177;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -13605,7 +17444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  0x001110xx1xxxx0001010xxxxxxxxxx
                                                                  saddlp.  */
                                                                  10987654321098765432109876543210
                                                                  0x001110xx1xxxx0001010xxxxxxxxxx
                                                                  saddlp.  */
-                                                              return 158;
+                                                              return 164;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -13615,7 +17454,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00001110xx1xxxx1001010xxxxxxxxxx
                                                                      xtn.  */
                                                                      10987654321098765432109876543210
                                                                      00001110xx1xxxx1001010xxxxxxxxxx
                                                                      xtn.  */
-                                                                  return 168;
+                                                                  return 174;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -13623,7 +17462,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01001110xx1xxxx1001010xxxxxxxxxx
                                                                      xtn2.  */
                                                                      10987654321098765432109876543210
                                                                      01001110xx1xxxx1001010xxxxxxxxxx
                                                                      xtn2.  */
-                                                                  return 169;
+                                                                  return 175;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -13637,7 +17476,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      0x001110xx1x0xx0011010xxxxxxxxxx
                                                                      sadalp.  */
                                                                      10987654321098765432109876543210
                                                                      0x001110xx1x0xx0011010xxxxxxxxxx
                                                                      sadalp.  */
-                                                                  return 162;
+                                                                  return 168;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -13645,26 +17484,48 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      0x001110xx1x1xx0011010xxxxxxxxxx
                                                                      aesmc.  */
                                                                      10987654321098765432109876543210
                                                                      0x001110xx1x1xx0011010xxxxxxxxxx
                                                                      aesmc.  */
-                                                                  return 667;
+                                                                  return 673;
                                                                 }
                                                             }
                                                           else
                                                             {
                                                                 }
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 30) & 0x1) == 0)
+                                                              if (((word >> 23) & 0x1) == 0)
                                                                 {
                                                                 {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     00001110xx1xxxx1011010xxxxxxxxxx
-                                                                     fcvtn.  */
-                                                                  return 172;
+                                                                  if (((word >> 30) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000011100x1xxxx1011010xxxxxxxxxx
+                                                                         fcvtn.  */
+                                                                      return 178;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         010011100x1xxxx1011010xxxxxxxxxx
+                                                                         fcvtn2.  */
+                                                                      return 179;
+                                                                    }
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     01001110xx1xxxx1011010xxxxxxxxxx
-                                                                     fcvtn2.  */
-                                                                  return 173;
+                                                                  if (((word >> 30) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         000011101x1xxxx1011010xxxxxxxxxx
+                                                                         bfcvtn.  */
+                                                                      return 2431;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         010011101x1xxxx1011010xxxxxxxxxx
+                                                                         bfcvtn2.  */
+                                                                      return 2432;
+                                                                    }
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -13680,7 +17541,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx000110xxxxxxxxxx
                                                              rev16.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx000110xxxxxxxxxx
                                                              rev16.  */
-                                                          return 157;
+                                                          return 163;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -13690,7 +17551,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  0x001110xx1x0xxx010110xxxxxxxxxx
                                                                  cnt.  */
                                                                  10987654321098765432109876543210
                                                                  0x001110xx1x0xxx010110xxxxxxxxxx
                                                                  cnt.  */
-                                                              return 161;
+                                                              return 167;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -13698,7 +17559,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  0x001110xx1x1xxx010110xxxxxxxxxx
                                                                  aesd.  */
                                                                  10987654321098765432109876543210
                                                                  0x001110xx1x1xxx010110xxxxxxxxxx
                                                                  aesd.  */
-                                                              return 666;
+                                                              return 672;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -13712,7 +17573,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  0x001110xx10xxxx001110xxxxxxxxxx
                                                                  suqadd.  */
                                                                  10987654321098765432109876543210
                                                                  0x001110xx10xxxx001110xxxxxxxxxx
                                                                  suqadd.  */
-                                                              return 159;
+                                                              return 165;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -13720,7 +17581,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  0x001110xx11xxxx001110xxxxxxxxxx
                                                                  saddlv.  */
                                                                  10987654321098765432109876543210
                                                                  0x001110xx11xxxx001110xxxxxxxxxx
                                                                  saddlv.  */
-                                                              return 27;
+                                                              return 29;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -13733,7 +17594,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      0x001110xx1x0xx0011110xxxxxxxxxx
                                                                      sqabs.  */
                                                                      10987654321098765432109876543210
                                                                      0x001110xx1x0xx0011110xxxxxxxxxx
                                                                      sqabs.  */
-                                                                  return 163;
+                                                                  return 169;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -13741,7 +17602,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      0x001110xx1x1xx0011110xxxxxxxxxx
                                                                      aesimc.  */
                                                                      10987654321098765432109876543210
                                                                      0x001110xx1x1xx0011110xxxxxxxxxx
                                                                      aesimc.  */
-                                                                  return 668;
+                                                                  return 674;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -13752,7 +17613,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00001110xx1xxxx1011110xxxxxxxxxx
                                                                      fcvtl.  */
                                                                      10987654321098765432109876543210
                                                                      00001110xx1xxxx1011110xxxxxxxxxx
                                                                      fcvtl.  */
-                                                                  return 174;
+                                                                  return 180;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -13760,7 +17621,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01001110xx1xxxx1011110xxxxxxxxxx
                                                                      fcvtl2.  */
                                                                      10987654321098765432109876543210
                                                                      01001110xx1xxxx1011110xxxxxxxxxx
                                                                      fcvtl2.  */
-                                                                  return 175;
+                                                                  return 181;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -13782,7 +17643,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx000001xxxxxxxxxx
                                                              shadd.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx000001xxxxxxxxxx
                                                              shadd.  */
-                                                          return 262;
+                                                          return 268;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -13790,7 +17651,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx010001xxxxxxxxxx
                                                              sshl.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx010001xxxxxxxxxx
                                                              sshl.  */
-                                                          return 269;
+                                                          return 275;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -13801,7 +17662,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx001001xxxxxxxxxx
                                                              shsub.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx001001xxxxxxxxxx
                                                              shsub.  */
-                                                          return 265;
+                                                          return 271;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -13809,7 +17670,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx011001xxxxxxxxxx
                                                              smax.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx011001xxxxxxxxxx
                                                              smax.  */
-                                                          return 273;
+                                                          return 279;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -13823,7 +17684,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx000101xxxxxxxxxx
                                                              srhadd.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx000101xxxxxxxxxx
                                                              srhadd.  */
-                                                          return 264;
+                                                          return 270;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -13831,7 +17692,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx010101xxxxxxxxxx
                                                              srshl.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx010101xxxxxxxxxx
                                                              srshl.  */
-                                                          return 271;
+                                                          return 277;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -13842,7 +17703,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx001101xxxxxxxxxx
                                                              cmgt.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx001101xxxxxxxxxx
                                                              cmgt.  */
-                                                          return 267;
+                                                          return 273;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -13850,7 +17711,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx011101xxxxxxxxxx
                                                              sabd.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx011101xxxxxxxxxx
                                                              sabd.  */
-                                                          return 275;
+                                                          return 281;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -13867,7 +17728,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx000011xxxxxxxxxx
                                                              sqadd.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx000011xxxxxxxxxx
                                                              sqadd.  */
-                                                          return 263;
+                                                          return 269;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -13875,7 +17736,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx010011xxxxxxxxxx
                                                              sqshl.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx010011xxxxxxxxxx
                                                              sqshl.  */
-                                                          return 270;
+                                                          return 276;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -13886,7 +17747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx001011xxxxxxxxxx
                                                              sqsub.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx001011xxxxxxxxxx
                                                              sqsub.  */
-                                                          return 266;
+                                                          return 272;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -13894,7 +17755,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx011011xxxxxxxxxx
                                                              smin.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx011011xxxxxxxxxx
                                                              smin.  */
-                                                          return 274;
+                                                          return 280;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -13912,7 +17773,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      0x001110001xxxxx000111xxxxxxxxxx
                                                                      and.  */
                                                                      10987654321098765432109876543210
                                                                      0x001110001xxxxx000111xxxxxxxxxx
                                                                      and.  */
-                                                                  return 299;
+                                                                  return 305;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -13920,7 +17781,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      0x001110101xxxxx000111xxxxxxxxxx
                                                                      orr.  */
                                                                      10987654321098765432109876543210
                                                                      0x001110101xxxxx000111xxxxxxxxxx
                                                                      orr.  */
-                                                                  return 311;
+                                                                  return 317;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -13931,7 +17792,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      0x001110011xxxxx000111xxxxxxxxxx
                                                                      bic.  */
                                                                      10987654321098765432109876543210
                                                                      0x001110011xxxxx000111xxxxxxxxxx
                                                                      bic.  */
-                                                                  return 300;
+                                                                  return 306;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -13939,7 +17800,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      0x001110111xxxxx000111xxxxxxxxxx
                                                                      orn.  */
                                                                      10987654321098765432109876543210
                                                                      0x001110111xxxxx000111xxxxxxxxxx
                                                                      orn.  */
-                                                                  return 313;
+                                                                  return 319;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -13949,7 +17810,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx010111xxxxxxxxxx
                                                              sqrshl.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx010111xxxxxxxxxx
                                                              sqrshl.  */
-                                                          return 272;
+                                                          return 278;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -13960,7 +17821,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx001111xxxxxxxxxx
                                                              cmge.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx001111xxxxxxxxxx
                                                              cmge.  */
-                                                          return 268;
+                                                          return 274;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -13968,7 +17829,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx011111xxxxxxxxxx
                                                              saba.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx011111xxxxxxxxxx
                                                              saba.  */
-                                                          return 276;
+                                                          return 282;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -13981,7 +17842,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          1x001110xx1xxxxx0xxxxxxxxxxxxxxx
                                          bcax.  */
                                          10987654321098765432109876543210
                                          1x001110xx1xxxxx0xxxxxxxxxxxxxxx
                                          bcax.  */
-                                      return 2016;
+                                      return 2347;
                                     }
                                 }
                               else
                                     }
                                 }
                               else
@@ -14002,7 +17863,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx000000xxxxxxxxxx
                                                              uaddl.  */
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx000000xxxxxxxxxx
                                                              uaddl.  */
-                                                          return 74;
+                                                          return 76;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14010,7 +17871,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx000000xxxxxxxxxx
                                                              uaddl2.  */
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx000000xxxxxxxxxx
                                                              uaddl2.  */
-                                                          return 75;
+                                                          return 77;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -14021,7 +17882,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx010000xxxxxxxxxx
                                                              raddhn.  */
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx010000xxxxxxxxxx
                                                              raddhn.  */
-                                                          return 82;
+                                                          return 84;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14029,7 +17890,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx010000xxxxxxxxxx
                                                              raddhn2.  */
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx010000xxxxxxxxxx
                                                              raddhn2.  */
-                                                          return 83;
+                                                          return 85;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -14043,7 +17904,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx001000xxxxxxxxxx
                                                              usubl.  */
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx001000xxxxxxxxxx
                                                              usubl.  */
-                                                          return 78;
+                                                          return 80;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14051,7 +17912,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx001000xxxxxxxxxx
                                                              usubl2.  */
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx001000xxxxxxxxxx
                                                              usubl2.  */
-                                                          return 79;
+                                                          return 81;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -14062,7 +17923,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx011000xxxxxxxxxx
                                                              rsubhn.  */
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx011000xxxxxxxxxx
                                                              rsubhn.  */
-                                                          return 86;
+                                                          return 88;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14070,7 +17931,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx011000xxxxxxxxxx
                                                              rsubhn2.  */
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx011000xxxxxxxxxx
                                                              rsubhn2.  */
-                                                          return 87;
+                                                          return 89;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -14087,7 +17948,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx000100xxxxxxxxxx
                                                              uaddw.  */
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx000100xxxxxxxxxx
                                                              uaddw.  */
-                                                          return 76;
+                                                          return 78;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14095,7 +17956,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx000100xxxxxxxxxx
                                                              uaddw2.  */
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx000100xxxxxxxxxx
                                                              uaddw2.  */
-                                                          return 77;
+                                                          return 79;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -14106,7 +17967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx010100xxxxxxxxxx
                                                              uabal.  */
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx010100xxxxxxxxxx
                                                              uabal.  */
-                                                          return 84;
+                                                          return 86;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14114,7 +17975,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx010100xxxxxxxxxx
                                                              uabal2.  */
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx010100xxxxxxxxxx
                                                              uabal2.  */
-                                                          return 85;
+                                                          return 87;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -14128,7 +17989,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx001100xxxxxxxxxx
                                                              usubw.  */
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx001100xxxxxxxxxx
                                                              usubw.  */
-                                                          return 80;
+                                                          return 82;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14136,7 +17997,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx001100xxxxxxxxxx
                                                              usubw2.  */
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx001100xxxxxxxxxx
                                                              usubw2.  */
-                                                          return 81;
+                                                          return 83;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -14147,7 +18008,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx011100xxxxxxxxxx
                                                              uabdl.  */
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx011100xxxxxxxxxx
                                                              uabdl.  */
-                                                          return 88;
+                                                          return 90;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14155,7 +18016,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx011100xxxxxxxxxx
                                                              uabdl2.  */
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx011100xxxxxxxxxx
                                                              uabdl2.  */
-                                                          return 89;
+                                                          return 91;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -14173,7 +18034,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx000010xxxxxxxxxx
                                                          rev32.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx000010xxxxxxxxxx
                                                          rev32.  */
-                                                      return 207;
+                                                      return 213;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -14183,7 +18044,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110xx1xxxx0010010xxxxxxxxxx
                                                              clz.  */
                                                              10987654321098765432109876543210
                                                              xx101110xx1xxxx0010010xxxxxxxxxx
                                                              clz.  */
-                                                          return 210;
+                                                          return 216;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14193,7 +18054,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x0101110xx1xxxx1010010xxxxxxxxxx
                                                                  uqxtn.  */
                                                                  10987654321098765432109876543210
                                                                  x0101110xx1xxxx1010010xxxxxxxxxx
                                                                  uqxtn.  */
-                                                              return 220;
+                                                              return 226;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -14201,7 +18062,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1101110xx1xxxx1010010xxxxxxxxxx
                                                                  uqxtn2.  */
                                                                  10987654321098765432109876543210
                                                                  x1101110xx1xxxx1010010xxxxxxxxxx
                                                                  uqxtn2.  */
-                                                              return 221;
+                                                              return 227;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -14216,7 +18077,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110xx1xxxx0001010xxxxxxxxxx
                                                              uaddlp.  */
                                                              10987654321098765432109876543210
                                                              xx101110xx1xxxx0001010xxxxxxxxxx
                                                              uaddlp.  */
-                                                          return 208;
+                                                          return 214;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14226,7 +18087,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x0101110xx1xxxx1001010xxxxxxxxxx
                                                                  sqxtun.  */
                                                                  10987654321098765432109876543210
                                                                  x0101110xx1xxxx1001010xxxxxxxxxx
                                                                  sqxtun.  */
-                                                              return 216;
+                                                              return 222;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -14234,7 +18095,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1101110xx1xxxx1001010xxxxxxxxxx
                                                                  sqxtun2.  */
                                                                  10987654321098765432109876543210
                                                                  x1101110xx1xxxx1001010xxxxxxxxxx
                                                                  sqxtun2.  */
-                                                              return 217;
+                                                              return 223;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -14246,7 +18107,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110xx1xxxx0011010xxxxxxxxxx
                                                              uadalp.  */
                                                              10987654321098765432109876543210
                                                              xx101110xx1xxxx0011010xxxxxxxxxx
                                                              uadalp.  */
-                                                          return 211;
+                                                          return 217;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14256,7 +18117,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x0101110xx1xxxx1011010xxxxxxxxxx
                                                                  fcvtxn.  */
                                                                  10987654321098765432109876543210
                                                                  x0101110xx1xxxx1011010xxxxxxxxxx
                                                                  fcvtxn.  */
-                                                              return 222;
+                                                              return 228;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -14264,7 +18125,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1101110xx1xxxx1011010xxxxxxxxxx
                                                                  fcvtxn2.  */
                                                                  10987654321098765432109876543210
                                                                  x1101110xx1xxxx1011010xxxxxxxxxx
                                                                  fcvtxn2.  */
-                                                              return 223;
+                                                              return 229;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -14280,7 +18141,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110x01xxxxx0x0110xxxxxxxxxx
                                                          not.  */
                                                          10987654321098765432109876543210
                                                          xx101110x01xxxxx0x0110xxxxxxxxxx
                                                          not.  */
-                                                      return 236;
+                                                      return 242;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -14288,7 +18149,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110x11xxxxx0x0110xxxxxxxxxx
                                                          rbit.  */
                                                          10987654321098765432109876543210
                                                          xx101110x11xxxxx0x0110xxxxxxxxxx
                                                          rbit.  */
-                                                      return 238;
+                                                      return 244;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -14303,7 +18164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx101110xx10xxx0001110xxxxxxxxxx
                                                                  usqadd.  */
                                                                  10987654321098765432109876543210
                                                                  xx101110xx10xxx0001110xxxxxxxxxx
                                                                  usqadd.  */
-                                                              return 209;
+                                                              return 215;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -14311,7 +18172,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx101110xx11xxx0001110xxxxxxxxxx
                                                                  uaddlv.  */
                                                                  10987654321098765432109876543210
                                                                  xx101110xx11xxx0001110xxxxxxxxxx
                                                                  uaddlv.  */
-                                                              return 31;
+                                                              return 33;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -14322,7 +18183,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x0101110xx1xxxx1001110xxxxxxxxxx
                                                                  shll.  */
                                                                  10987654321098765432109876543210
                                                                  x0101110xx1xxxx1001110xxxxxxxxxx
                                                                  shll.  */
-                                                              return 218;
+                                                              return 224;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -14330,7 +18191,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1101110xx1xxxx1001110xxxxxxxxxx
                                                                  shll2.  */
                                                                  10987654321098765432109876543210
                                                                  x1101110xx1xxxx1001110xxxxxxxxxx
                                                                  shll2.  */
-                                                              return 219;
+                                                              return 225;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -14340,7 +18201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx011110xxxxxxxxxx
                                                          sqneg.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx011110xxxxxxxxxx
                                                          sqneg.  */
-                                                      return 212;
+                                                      return 218;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -14360,7 +18221,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx000001xxxxxxxxxx
                                                          uhadd.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx000001xxxxxxxxxx
                                                          uhadd.  */
-                                                      return 314;
+                                                      return 320;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -14368,7 +18229,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx010001xxxxxxxxxx
                                                          ushl.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx010001xxxxxxxxxx
                                                          ushl.  */
-                                                      return 321;
+                                                      return 327;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -14379,7 +18240,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx001001xxxxxxxxxx
                                                          uhsub.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx001001xxxxxxxxxx
                                                          uhsub.  */
-                                                      return 317;
+                                                      return 323;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -14387,7 +18248,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx011001xxxxxxxxxx
                                                          umax.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx011001xxxxxxxxxx
                                                          umax.  */
-                                                      return 325;
+                                                      return 331;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -14401,7 +18262,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx000101xxxxxxxxxx
                                                          urhadd.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx000101xxxxxxxxxx
                                                          urhadd.  */
-                                                      return 316;
+                                                      return 322;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -14409,7 +18270,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx010101xxxxxxxxxx
                                                          urshl.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx010101xxxxxxxxxx
                                                          urshl.  */
-                                                      return 323;
+                                                      return 329;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -14420,7 +18281,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx001101xxxxxxxxxx
                                                          cmhi.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx001101xxxxxxxxxx
                                                          cmhi.  */
-                                                      return 319;
+                                                      return 325;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -14428,7 +18289,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx011101xxxxxxxxxx
                                                          uabd.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx011101xxxxxxxxxx
                                                          uabd.  */
-                                                      return 327;
+                                                      return 333;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -14445,7 +18306,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx000011xxxxxxxxxx
                                                          uqadd.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx000011xxxxxxxxxx
                                                          uqadd.  */
-                                                      return 315;
+                                                      return 321;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -14453,7 +18314,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx010011xxxxxxxxxx
                                                          uqshl.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx010011xxxxxxxxxx
                                                          uqshl.  */
-                                                      return 322;
+                                                      return 328;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -14464,7 +18325,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx001011xxxxxxxxxx
                                                          uqsub.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx001011xxxxxxxxxx
                                                          uqsub.  */
-                                                      return 318;
+                                                      return 324;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -14472,7 +18333,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx011011xxxxxxxxxx
                                                          umin.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx011011xxxxxxxxxx
                                                          umin.  */
-                                                      return 326;
+                                                      return 332;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -14490,7 +18351,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx101110001xxxxx000111xxxxxxxxxx
                                                                  eor.  */
                                                                  10987654321098765432109876543210
                                                                  xx101110001xxxxx000111xxxxxxxxxx
                                                                  eor.  */
-                                                              return 350;
+                                                              return 356;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -14498,7 +18359,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx101110101xxxxx000111xxxxxxxxxx
                                                                  bit.  */
                                                                  10987654321098765432109876543210
                                                                  xx101110101xxxxx000111xxxxxxxxxx
                                                                  bit.  */
-                                                              return 362;
+                                                              return 368;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -14509,7 +18370,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx101110011xxxxx000111xxxxxxxxxx
                                                                  bsl.  */
                                                                  10987654321098765432109876543210
                                                                  xx101110011xxxxx000111xxxxxxxxxx
                                                                  bsl.  */
-                                                              return 351;
+                                                              return 357;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -14517,7 +18378,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx101110111xxxxx000111xxxxxxxxxx
                                                                  bif.  */
                                                                  10987654321098765432109876543210
                                                                  xx101110111xxxxx000111xxxxxxxxxx
                                                                  bif.  */
-                                                              return 363;
+                                                              return 369;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -14527,7 +18388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx010111xxxxxxxxxx
                                                          uqrshl.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx010111xxxxxxxxxx
                                                          uqrshl.  */
-                                                      return 324;
+                                                      return 330;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -14538,7 +18399,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx001111xxxxxxxxxx
                                                          cmhs.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx001111xxxxxxxxxx
                                                          cmhs.  */
-                                                      return 320;
+                                                      return 326;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -14546,7 +18407,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx011111xxxxxxxxxx
                                                          uaba.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx011111xxxxxxxxxx
                                                          uaba.  */
-                                                      return 328;
+                                                      return 334;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -14574,7 +18435,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0001110xx1xxxxx100000xxxxxxxxxx
                                                              smlal.  */
                                                              10987654321098765432109876543210
                                                              x0001110xx1xxxxx100000xxxxxxxxxx
                                                              smlal.  */
-                                                          return 58;
+                                                          return 60;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14584,7 +18445,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx100000xxxxxxxxxx
                                                                  smlal2.  */
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx100000xxxxxxxxxx
                                                                  smlal2.  */
-                                                              return 59;
+                                                              return 61;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -14592,7 +18453,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  11001110xx1xxxxx100000xxxxxxxxxx
                                                                  sha512h.  */
                                                                  10987654321098765432109876543210
                                                                  11001110xx1xxxxx100000xxxxxxxxxx
                                                                  sha512h.  */
-                                                              return 2009;
+                                                              return 2340;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -14604,7 +18465,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx100000xxxxxxxxxx
                                                              umlal.  */
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx100000xxxxxxxxxx
                                                              umlal.  */
-                                                          return 90;
+                                                          return 92;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14612,7 +18473,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx100000xxxxxxxxxx
                                                              umlal2.  */
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx100000xxxxxxxxxx
                                                              umlal2.  */
-                                                          return 91;
+                                                          return 93;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -14626,7 +18487,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0001110xx1xxxxx110000xxxxxxxxxx
                                                              smull.  */
                                                              10987654321098765432109876543210
                                                              x0001110xx1xxxxx110000xxxxxxxxxx
                                                              smull.  */
-                                                          return 66;
+                                                          return 68;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14636,7 +18497,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx110000xxxxxxxxxx
                                                                  smull2.  */
                                                                  10987654321098765432109876543210
                                                                  01001110xx1xxxxx110000xxxxxxxxxx
                                                                  smull2.  */
-                                                              return 67;
+                                                              return 69;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -14644,7 +18505,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  11001110xx1xxxxx110000xxxxxxxxxx
                                                                  sm3partw1.  */
                                                                  10987654321098765432109876543210
                                                                  11001110xx1xxxxx110000xxxxxxxxxx
                                                                  sm3partw1.  */
-                                                              return 2022;
+                                                              return 2353;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -14656,7 +18517,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx110000xxxxxxxxxx
                                                              umull.  */
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx110000xxxxxxxxxx
                                                              umull.  */
-                                                          return 94;
+                                                          return 96;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14664,7 +18525,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx110000xxxxxxxxxx
                                                              umull2.  */
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx110000xxxxxxxxxx
                                                              umull2.  */
-                                                          return 95;
+                                                          return 97;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -14681,7 +18542,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0001110xx1xxxxx101000xxxxxxxxxx
                                                              smlsl.  */
                                                              10987654321098765432109876543210
                                                              x0001110xx1xxxxx101000xxxxxxxxxx
                                                              smlsl.  */
-                                                          return 62;
+                                                          return 64;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14689,7 +18550,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1001110xx1xxxxx101000xxxxxxxxxx
                                                              smlsl2.  */
                                                              10987654321098765432109876543210
                                                              x1001110xx1xxxxx101000xxxxxxxxxx
                                                              smlsl2.  */
-                                                          return 63;
+                                                          return 65;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -14700,7 +18561,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx101000xxxxxxxxxx
                                                              umlsl.  */
                                                              10987654321098765432109876543210
                                                              x0101110xx1xxxxx101000xxxxxxxxxx
                                                              umlsl.  */
-                                                          return 92;
+                                                          return 94;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14708,7 +18569,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx101000xxxxxxxxxx
                                                              umlsl2.  */
                                                              10987654321098765432109876543210
                                                              x1101110xx1xxxxx101000xxxxxxxxxx
                                                              umlsl2.  */
-                                                          return 93;
+                                                          return 95;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -14722,7 +18583,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0x01110x01xxxxx111000xxxxxxxxxx
                                                              pmull.  */
                                                              10987654321098765432109876543210
                                                              x0x01110x01xxxxx111000xxxxxxxxxx
                                                              pmull.  */
-                                                          return 70;
+                                                          return 72;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14730,7 +18591,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1x01110x01xxxxx111000xxxxxxxxxx
                                                              pmull2.  */
                                                              10987654321098765432109876543210
                                                              x1x01110x01xxxxx111000xxxxxxxxxx
                                                              pmull2.  */
-                                                          return 72;
+                                                          return 74;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -14741,7 +18602,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0x01110x11xxxxx111000xxxxxxxxxx
                                                              pmull.  */
                                                              10987654321098765432109876543210
                                                              x0x01110x11xxxxx111000xxxxxxxxxx
                                                              pmull.  */
-                                                          return 71;
+                                                          return 73;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14749,7 +18610,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1x01110x11xxxxx111000xxxxxxxxxx
                                                              pmull2.  */
                                                              10987654321098765432109876543210
                                                              x1x01110x11xxxxx111000xxxxxxxxxx
                                                              pmull2.  */
-                                                          return 73;
+                                                          return 75;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -14767,7 +18628,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x01110xx1xxxxx100100xxxxxxxxxx
                                                          sqdmlal.  */
                                                          10987654321098765432109876543210
                                                          x0x01110xx1xxxxx100100xxxxxxxxxx
                                                          sqdmlal.  */
-                                                      return 60;
+                                                      return 62;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -14775,7 +18636,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1x01110xx1xxxxx100100xxxxxxxxxx
                                                          sqdmlal2.  */
                                                          10987654321098765432109876543210
                                                          x1x01110xx1xxxxx100100xxxxxxxxxx
                                                          sqdmlal2.  */
-                                                      return 61;
+                                                      return 63;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -14786,7 +18647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x01110xx1xxxxx110100xxxxxxxxxx
                                                          sqdmull.  */
                                                          10987654321098765432109876543210
                                                          x0x01110xx1xxxxx110100xxxxxxxxxx
                                                          sqdmull.  */
-                                                      return 68;
+                                                      return 70;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -14794,7 +18655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1x01110xx1xxxxx110100xxxxxxxxxx
                                                          sqdmull2.  */
                                                          10987654321098765432109876543210
                                                          x1x01110xx1xxxxx110100xxxxxxxxxx
                                                          sqdmull2.  */
-                                                      return 69;
+                                                      return 71;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -14806,7 +18667,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0x01110xx1xxxxx1x1100xxxxxxxxxx
                                                      sqdmlsl.  */
                                                      10987654321098765432109876543210
                                                      x0x01110xx1xxxxx1x1100xxxxxxxxxx
                                                      sqdmlsl.  */
-                                                  return 64;
+                                                  return 66;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -14814,7 +18675,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1x01110xx1xxxxx1x1100xxxxxxxxxx
                                                      sqdmlsl2.  */
                                                      10987654321098765432109876543210
                                                      x1x01110xx1xxxxx1x1100xxxxxxxxxx
                                                      sqdmlsl2.  */
-                                                  return 65;
+                                                  return 67;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -14837,7 +18698,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  0x001110xx1xxxx0100010xxxxxxxxxx
                                                                  cmgt.  */
                                                                  10987654321098765432109876543210
                                                                  0x001110xx1xxxx0100010xxxxxxxxxx
                                                                  cmgt.  */
-                                                              return 164;
+                                                              return 170;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -14849,7 +18710,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          0x0011100x1x0xx1100010xxxxxxxxxx
                                                                          frintn.  */
                                                                          10987654321098765432109876543210
                                                                          0x0011100x1x0xx1100010xxxxxxxxxx
                                                                          frintn.  */
-                                                                      return 176;
+                                                                      return 182;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -14857,7 +18718,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          0x0011101x1x0xx1100010xxxxxxxxxx
                                                                          frintp.  */
                                                                          10987654321098765432109876543210
                                                                          0x0011101x1x0xx1100010xxxxxxxxxx
                                                                          frintp.  */
-                                                                      return 196;
+                                                                      return 202;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -14868,7 +18729,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          0x0011100x1x1xx1100010xxxxxxxxxx
                                                                          frintn.  */
                                                                          10987654321098765432109876543210
                                                                          0x0011100x1x1xx1100010xxxxxxxxxx
                                                                          frintn.  */
-                                                                      return 177;
+                                                                      return 183;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -14876,7 +18737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          0x0011101x1x1xx1100010xxxxxxxxxx
                                                                          frintp.  */
                                                                          10987654321098765432109876543210
                                                                          0x0011101x1x1xx1100010xxxxxxxxxx
                                                                          frintp.  */
-                                                                      return 197;
+                                                                      return 203;
                                                                     }
                                                                 }
                                                             }
                                                                     }
                                                                 }
                                                             }
@@ -14887,7 +18748,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              1x001110xx1xxxxx100010xxxxxxxxxx
                                                              sha512su1.  */
                                                              10987654321098765432109876543210
                                                              1x001110xx1xxxxx100010xxxxxxxxxx
                                                              sha512su1.  */
-                                                          return 2012;
+                                                          return 2343;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -14898,7 +18759,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110xx1xxxx0100010xxxxxxxxxx
                                                              cmge.  */
                                                              10987654321098765432109876543210
                                                              xx101110xx1xxxx0100010xxxxxxxxxx
                                                              cmge.  */
-                                                          return 213;
+                                                          return 219;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -14908,7 +18769,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx101110xx1x0xx1100010xxxxxxxxxx
                                                                  frinta.  */
                                                                  10987654321098765432109876543210
                                                                  xx101110xx1x0xx1100010xxxxxxxxxx
                                                                  frinta.  */
-                                                              return 224;
+                                                              return 230;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -14916,7 +18777,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx101110xx1x1xx1100010xxxxxxxxxx
                                                                  frinta.  */
                                                                  10987654321098765432109876543210
                                                                  xx101110xx1x1xx1100010xxxxxxxxxx
                                                                  frinta.  */
-                                                              return 225;
+                                                              return 231;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -14935,7 +18796,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      0x0011100x1xxxx0110010xxxxxxxxxx
                                                                      fmaxnmv.  */
                                                                      10987654321098765432109876543210
                                                                      0x0011100x1xxxx0110010xxxxxxxxxx
                                                                      fmaxnmv.  */
-                                                                  return 35;
+                                                                  return 37;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -14945,7 +18806,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          0x0011100x1x0xx1110010xxxxxxxxxx
                                                                          fcvtas.  */
                                                                          10987654321098765432109876543210
                                                                          0x0011100x1x0xx1110010xxxxxxxxxx
                                                                          fcvtas.  */
-                                                                      return 184;
+                                                                      return 190;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -14953,7 +18814,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          0x0011100x1x1xx1110010xxxxxxxxxx
                                                                          fcvtas.  */
                                                                          10987654321098765432109876543210
                                                                          0x0011100x1x1xx1110010xxxxxxxxxx
                                                                          fcvtas.  */
-                                                                      return 185;
+                                                                      return 191;
                                                                     }
                                                                 }
                                                             }
                                                                     }
                                                                 }
                                                             }
@@ -14963,7 +18824,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x0011100x1xxxxx110010xxxxxxxxxx
                                                                  sm4ekey.  */
                                                                  10987654321098765432109876543210
                                                                  1x0011100x1xxxxx110010xxxxxxxxxx
                                                                  sm4ekey.  */
-                                                              return 2025;
+                                                              return 2356;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -14974,7 +18835,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx1011100x1xxxx0110010xxxxxxxxxx
                                                                  fmaxnmv.  */
                                                                  10987654321098765432109876543210
                                                                  xx1011100x1xxxx0110010xxxxxxxxxx
                                                                  fmaxnmv.  */
-                                                              return 34;
+                                                              return 36;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -14984,7 +18845,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1011100x1x0xx1110010xxxxxxxxxx
                                                                      fcvtau.  */
                                                                      10987654321098765432109876543210
                                                                      xx1011100x1x0xx1110010xxxxxxxxxx
                                                                      fcvtau.  */
-                                                                  return 232;
+                                                                  return 238;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -14992,7 +18853,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1011100x1x1xx1110010xxxxxxxxxx
                                                                      fcvtau.  */
                                                                      10987654321098765432109876543210
                                                                      xx1011100x1x1xx1110010xxxxxxxxxx
                                                                      fcvtau.  */
-                                                                  return 233;
+                                                                  return 239;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -15011,7 +18872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx0011101x100xx0110010xxxxxxxxxx
                                                                          fcmgt.  */
                                                                          10987654321098765432109876543210
                                                                          xx0011101x100xx0110010xxxxxxxxxx
                                                                          fcmgt.  */
-                                                                      return 188;
+                                                                      return 194;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -15019,7 +18880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx1011101x100xx0110010xxxxxxxxxx
                                                                          fcmge.  */
                                                                          10987654321098765432109876543210
                                                                          xx1011101x100xx0110010xxxxxxxxxx
                                                                          fcmge.  */
-                                                                      return 239;
+                                                                      return 245;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -15030,7 +18891,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx0011101x110xx0110010xxxxxxxxxx
                                                                          fminnmv.  */
                                                                          10987654321098765432109876543210
                                                                          xx0011101x110xx0110010xxxxxxxxxx
                                                                          fminnmv.  */
-                                                                      return 39;
+                                                                      return 41;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -15038,7 +18899,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx1011101x110xx0110010xxxxxxxxxx
                                                                          fminnmv.  */
                                                                          10987654321098765432109876543210
                                                                          xx1011101x110xx0110010xxxxxxxxxx
                                                                          fminnmv.  */
-                                                                      return 38;
+                                                                      return 40;
                                                                     }
                                                                 }
                                                             }
                                                                     }
                                                                 }
                                                             }
@@ -15050,7 +18911,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0011101x1x1xx0110010xxxxxxxxxx
                                                                      fcmgt.  */
                                                                      10987654321098765432109876543210
                                                                      xx0011101x1x1xx0110010xxxxxxxxxx
                                                                      fcmgt.  */
-                                                                  return 189;
+                                                                  return 195;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -15058,7 +18919,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1011101x1x1xx0110010xxxxxxxxxx
                                                                      fcmge.  */
                                                                      10987654321098765432109876543210
                                                                      xx1011101x1x1xx0110010xxxxxxxxxx
                                                                      fcmge.  */
-                                                                  return 240;
+                                                                  return 246;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -15070,7 +18931,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx0011101x1xxxx1110010xxxxxxxxxx
                                                                  urecpe.  */
                                                                  10987654321098765432109876543210
                                                                  xx0011101x1xxxx1110010xxxxxxxxxx
                                                                  urecpe.  */
-                                                              return 204;
+                                                              return 210;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -15078,7 +18939,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx1011101x1xxxx1110010xxxxxxxxxx
                                                                  ursqrte.  */
                                                                  10987654321098765432109876543210
                                                                  xx1011101x1xxxx1110010xxxxxxxxxx
                                                                  ursqrte.  */
-                                                              return 251;
+                                                              return 257;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -15096,7 +18957,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx01110xx10xxx0101010xxxxxxxxxx
                                                              cmlt.  */
                                                              10987654321098765432109876543210
                                                              xxx01110xx10xxx0101010xxxxxxxxxx
                                                              cmlt.  */
-                                                          return 166;
+                                                          return 172;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -15106,7 +18967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx001110xx11xxx0101010xxxxxxxxxx
                                                                  smaxv.  */
                                                                  10987654321098765432109876543210
                                                                  xx001110xx11xxx0101010xxxxxxxxxx
                                                                  smaxv.  */
-                                                              return 28;
+                                                              return 30;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -15114,7 +18975,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx101110xx11xxx0101010xxxxxxxxxx
                                                                  umaxv.  */
                                                                  10987654321098765432109876543210
                                                                  xx101110xx11xxx0101010xxxxxxxxxx
                                                                  umaxv.  */
-                                                              return 32;
+                                                              return 34;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -15132,7 +18993,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx0011100x100xx1101010xxxxxxxxxx
                                                                          fcvtns.  */
                                                                          10987654321098765432109876543210
                                                                          xx0011100x100xx1101010xxxxxxxxxx
                                                                          fcvtns.  */
-                                                                      return 180;
+                                                                      return 186;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -15140,7 +19001,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx1011100x100xx1101010xxxxxxxxxx
                                                                          fcvtnu.  */
                                                                          10987654321098765432109876543210
                                                                          xx1011100x100xx1101010xxxxxxxxxx
                                                                          fcvtnu.  */
-                                                                      return 228;
+                                                                      return 234;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -15151,7 +19012,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx0011101x100xx1101010xxxxxxxxxx
                                                                          fcvtps.  */
                                                                          10987654321098765432109876543210
                                                                          xx0011101x100xx1101010xxxxxxxxxx
                                                                          fcvtps.  */
-                                                                      return 200;
+                                                                      return 206;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -15159,7 +19020,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx1011101x100xx1101010xxxxxxxxxx
                                                                          fcvtpu.  */
                                                                          10987654321098765432109876543210
                                                                          xx1011101x100xx1101010xxxxxxxxxx
                                                                          fcvtpu.  */
-                                                                      return 247;
+                                                                      return 253;
                                                                     }
                                                                 }
                                                             }
                                                                     }
                                                                 }
                                                             }
@@ -15171,7 +19032,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx001110xx110xx1101010xxxxxxxxxx
                                                                      sminv.  */
                                                                      10987654321098765432109876543210
                                                                      xx001110xx110xx1101010xxxxxxxxxx
                                                                      sminv.  */
-                                                                  return 29;
+                                                                  return 31;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -15179,7 +19040,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx101110xx110xx1101010xxxxxxxxxx
                                                                      uminv.  */
                                                                      10987654321098765432109876543210
                                                                      xx101110xx110xx1101010xxxxxxxxxx
                                                                      uminv.  */
-                                                                  return 33;
+                                                                  return 35;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -15193,7 +19054,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0011100x1x1xx1101010xxxxxxxxxx
                                                                      fcvtns.  */
                                                                      10987654321098765432109876543210
                                                                      xx0011100x1x1xx1101010xxxxxxxxxx
                                                                      fcvtns.  */
-                                                                  return 181;
+                                                                  return 187;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -15201,7 +19062,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1011100x1x1xx1101010xxxxxxxxxx
                                                                      fcvtnu.  */
                                                                      10987654321098765432109876543210
                                                                      xx1011100x1x1xx1101010xxxxxxxxxx
                                                                      fcvtnu.  */
-                                                                  return 229;
+                                                                  return 235;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -15212,7 +19073,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0011101x1x1xx1101010xxxxxxxxxx
                                                                      fcvtps.  */
                                                                      10987654321098765432109876543210
                                                                      xx0011101x1x1xx1101010xxxxxxxxxx
                                                                      fcvtps.  */
-                                                                  return 201;
+                                                                  return 207;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -15220,7 +19081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1011101x1x1xx1101010xxxxxxxxxx
                                                                      fcvtpu.  */
                                                                      10987654321098765432109876543210
                                                                      xx1011101x1x1xx1101010xxxxxxxxxx
                                                                      fcvtpu.  */
-                                                                  return 248;
+                                                                  return 254;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -15228,21 +19089,43 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 19) & 0x1) == 0)
+                                                  if (((word >> 16) & 0x1) == 0)
                                                     {
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxx01110xx1x0xxx111010xxxxxxxxxx
-                                                         fcmlt.  */
-                                                      return 192;
+                                                      if (((word >> 19) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxx01110xx1x0xx0111010xxxxxxxxxx
+                                                             fcmlt.  */
+                                                          return 198;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxx01110xx1x1xx0111010xxxxxxxxxx
+                                                             fcmlt.  */
+                                                          return 199;
+                                                        }
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxx01110xx1x1xxx111010xxxxxxxxxx
-                                                         fcmlt.  */
-                                                      return 193;
+                                                      if (((word >> 29) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xx001110xx1xxxx1111010xxxxxxxxxx
+                                                             frint32z.  */
+                                                          return 158;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xx101110xx1xxxx1111010xxxxxxxxxx
+                                                             frint32x.  */
+                                                          return 159;
+                                                        }
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -15261,7 +19144,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx001110xx1xxxx0100110xxxxxxxxxx
                                                              cmeq.  */
                                                              10987654321098765432109876543210
                                                              xx001110xx1xxxx0100110xxxxxxxxxx
                                                              cmeq.  */
-                                                          return 165;
+                                                          return 171;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -15269,7 +19152,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110xx1xxxx0100110xxxxxxxxxx
                                                              cmle.  */
                                                              10987654321098765432109876543210
                                                              xx101110xx1xxxx0100110xxxxxxxxxx
                                                              cmle.  */
-                                                          return 214;
+                                                          return 220;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -15284,7 +19167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0011100x1x0xx1100110xxxxxxxxxx
                                                                      frintm.  */
                                                                      10987654321098765432109876543210
                                                                      xx0011100x1x0xx1100110xxxxxxxxxx
                                                                      frintm.  */
-                                                                  return 178;
+                                                                  return 184;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -15292,7 +19175,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1011100x1x0xx1100110xxxxxxxxxx
                                                                      frintx.  */
                                                                      10987654321098765432109876543210
                                                                      xx1011100x1x0xx1100110xxxxxxxxxx
                                                                      frintx.  */
-                                                                  return 226;
+                                                                  return 232;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -15303,7 +19186,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0011101x1x0xx1100110xxxxxxxxxx
                                                                      frintz.  */
                                                                      10987654321098765432109876543210
                                                                      xx0011101x1x0xx1100110xxxxxxxxxx
                                                                      frintz.  */
-                                                                  return 198;
+                                                                  return 204;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -15311,7 +19194,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1011101x1x0xx1100110xxxxxxxxxx
                                                                      frinti.  */
                                                                      10987654321098765432109876543210
                                                                      xx1011101x1x0xx1100110xxxxxxxxxx
                                                                      frinti.  */
-                                                                  return 245;
+                                                                  return 251;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -15325,7 +19208,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0011100x1x1xx1100110xxxxxxxxxx
                                                                      frintm.  */
                                                                      10987654321098765432109876543210
                                                                      xx0011100x1x1xx1100110xxxxxxxxxx
                                                                      frintm.  */
-                                                                  return 179;
+                                                                  return 185;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -15333,7 +19216,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1011100x1x1xx1100110xxxxxxxxxx
                                                                      frintx.  */
                                                                      10987654321098765432109876543210
                                                                      xx1011100x1x1xx1100110xxxxxxxxxx
                                                                      frintx.  */
-                                                                  return 227;
+                                                                  return 233;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -15344,7 +19227,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0011101x1x1xx1100110xxxxxxxxxx
                                                                      frintz.  */
                                                                      10987654321098765432109876543210
                                                                      xx0011101x1x1xx1100110xxxxxxxxxx
                                                                      frintz.  */
-                                                                  return 199;
+                                                                  return 205;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -15352,7 +19235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1011101x1x1xx1100110xxxxxxxxxx
                                                                      frinti.  */
                                                                      10987654321098765432109876543210
                                                                      xx1011101x1x1xx1100110xxxxxxxxxx
                                                                      frinti.  */
-                                                                  return 246;
+                                                                  return 252;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -15370,7 +19253,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx001110xx1x0xx0110110xxxxxxxxxx
                                                                  fcmeq.  */
                                                                  10987654321098765432109876543210
                                                                  xx001110xx1x0xx0110110xxxxxxxxxx
                                                                  fcmeq.  */
-                                                              return 190;
+                                                              return 196;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -15378,7 +19261,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx101110xx1x0xx0110110xxxxxxxxxx
                                                                  fcmle.  */
                                                                  10987654321098765432109876543210
                                                                  xx101110xx1x0xx0110110xxxxxxxxxx
                                                                  fcmle.  */
-                                                              return 241;
+                                                              return 247;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -15389,7 +19272,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx001110xx1x1xx0110110xxxxxxxxxx
                                                                  fcmeq.  */
                                                                  10987654321098765432109876543210
                                                                  xx001110xx1x1xx0110110xxxxxxxxxx
                                                                  fcmeq.  */
-                                                              return 191;
+                                                              return 197;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -15397,7 +19280,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx101110xx1x1xx0110110xxxxxxxxxx
                                                                  fcmle.  */
                                                                  10987654321098765432109876543210
                                                                  xx101110xx1x1xx0110110xxxxxxxxxx
                                                                  fcmle.  */
-                                                              return 242;
+                                                              return 248;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -15413,7 +19296,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0011100x1x0xx1110110xxxxxxxxxx
                                                                      scvtf.  */
                                                                      10987654321098765432109876543210
                                                                      xx0011100x1x0xx1110110xxxxxxxxxx
                                                                      scvtf.  */
-                                                                  return 186;
+                                                                  return 192;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -15421,7 +19304,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1011100x1x0xx1110110xxxxxxxxxx
                                                                      ucvtf.  */
                                                                      10987654321098765432109876543210
                                                                      xx1011100x1x0xx1110110xxxxxxxxxx
                                                                      ucvtf.  */
-                                                                  return 234;
+                                                                  return 240;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -15432,7 +19315,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0011101x1x0xx1110110xxxxxxxxxx
                                                                      frecpe.  */
                                                                      10987654321098765432109876543210
                                                                      xx0011101x1x0xx1110110xxxxxxxxxx
                                                                      frecpe.  */
-                                                                  return 205;
+                                                                  return 211;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -15440,7 +19323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1011101x1x0xx1110110xxxxxxxxxx
                                                                      frsqrte.  */
                                                                      10987654321098765432109876543210
                                                                      xx1011101x1x0xx1110110xxxxxxxxxx
                                                                      frsqrte.  */
-                                                                  return 252;
+                                                                  return 258;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -15454,7 +19337,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0011100x1x1xx1110110xxxxxxxxxx
                                                                      scvtf.  */
                                                                      10987654321098765432109876543210
                                                                      xx0011100x1x1xx1110110xxxxxxxxxx
                                                                      scvtf.  */
-                                                                  return 187;
+                                                                  return 193;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -15462,7 +19345,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1011100x1x1xx1110110xxxxxxxxxx
                                                                      ucvtf.  */
                                                                      10987654321098765432109876543210
                                                                      xx1011100x1x1xx1110110xxxxxxxxxx
                                                                      ucvtf.  */
-                                                                  return 235;
+                                                                  return 241;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -15473,7 +19356,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0011101x1x1xx1110110xxxxxxxxxx
                                                                      frecpe.  */
                                                                      10987654321098765432109876543210
                                                                      xx0011101x1x1xx1110110xxxxxxxxxx
                                                                      frecpe.  */
-                                                                  return 206;
+                                                                  return 212;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -15481,7 +19364,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1011101x1x1xx1110110xxxxxxxxxx
                                                                      frsqrte.  */
                                                                      10987654321098765432109876543210
                                                                      xx1011101x1x1xx1110110xxxxxxxxxx
                                                                      frsqrte.  */
-                                                                  return 253;
+                                                                  return 259;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -15500,7 +19383,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx001110xx1xxxx0101110xxxxxxxxxx
                                                              abs.  */
                                                              10987654321098765432109876543210
                                                              xx001110xx1xxxx0101110xxxxxxxxxx
                                                              abs.  */
-                                                          return 167;
+                                                          return 173;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -15508,7 +19391,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110xx1xxxx0101110xxxxxxxxxx
                                                              neg.  */
                                                              10987654321098765432109876543210
                                                              xx101110xx1xxxx0101110xxxxxxxxxx
                                                              neg.  */
-                                                          return 215;
+                                                          return 221;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -15525,7 +19408,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx0011100x100xx1101110xxxxxxxxxx
                                                                          fcvtms.  */
                                                                          10987654321098765432109876543210
                                                                          xx0011100x100xx1101110xxxxxxxxxx
                                                                          fcvtms.  */
-                                                                      return 182;
+                                                                      return 188;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -15533,7 +19416,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx1011100x100xx1101110xxxxxxxxxx
                                                                          fcvtmu.  */
                                                                          10987654321098765432109876543210
                                                                          xx1011100x100xx1101110xxxxxxxxxx
                                                                          fcvtmu.  */
-                                                                      return 230;
+                                                                      return 236;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -15544,7 +19427,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx0011101x100xx1101110xxxxxxxxxx
                                                                          fcvtzs.  */
                                                                          10987654321098765432109876543210
                                                                          xx0011101x100xx1101110xxxxxxxxxx
                                                                          fcvtzs.  */
-                                                                      return 202;
+                                                                      return 208;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -15552,7 +19435,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx1011101x100xx1101110xxxxxxxxxx
                                                                          fcvtzu.  */
                                                                          10987654321098765432109876543210
                                                                          xx1011101x100xx1101110xxxxxxxxxx
                                                                          fcvtzu.  */
-                                                                      return 249;
+                                                                      return 255;
                                                                     }
                                                                 }
                                                             }
                                                                     }
                                                                 }
                                                             }
@@ -15562,7 +19445,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxx01110xx110xx1101110xxxxxxxxxx
                                                                  addv.  */
                                                                  10987654321098765432109876543210
                                                                  xxx01110xx110xx1101110xxxxxxxxxx
                                                                  addv.  */
-                                                              return 30;
+                                                              return 32;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -15575,7 +19458,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0011100x1x1xx1101110xxxxxxxxxx
                                                                      fcvtms.  */
                                                                      10987654321098765432109876543210
                                                                      xx0011100x1x1xx1101110xxxxxxxxxx
                                                                      fcvtms.  */
-                                                                  return 183;
+                                                                  return 189;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -15583,7 +19466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1011100x1x1xx1101110xxxxxxxxxx
                                                                      fcvtmu.  */
                                                                      10987654321098765432109876543210
                                                                      xx1011100x1x1xx1101110xxxxxxxxxx
                                                                      fcvtmu.  */
-                                                                  return 231;
+                                                                  return 237;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -15594,7 +19477,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0011101x1x1xx1101110xxxxxxxxxx
                                                                      fcvtzs.  */
                                                                      10987654321098765432109876543210
                                                                      xx0011101x1x1xx1101110xxxxxxxxxx
                                                                      fcvtzs.  */
-                                                                  return 203;
+                                                                  return 209;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -15602,7 +19485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1011101x1x1xx1101110xxxxxxxxxx
                                                                      fcvtzu.  */
                                                                      10987654321098765432109876543210
                                                                      xx1011101x1x1xx1101110xxxxxxxxxx
                                                                      fcvtzu.  */
-                                                                  return 250;
+                                                                  return 256;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -15622,7 +19505,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx001110xx100xx0111110xxxxxxxxxx
                                                                      fabs.  */
                                                                      10987654321098765432109876543210
                                                                      xx001110xx100xx0111110xxxxxxxxxx
                                                                      fabs.  */
-                                                                  return 194;
+                                                                  return 200;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -15630,7 +19513,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx101110xx100xx0111110xxxxxxxxxx
                                                                      fneg.  */
                                                                      10987654321098765432109876543210
                                                                      xx101110xx100xx0111110xxxxxxxxxx
                                                                      fneg.  */
-                                                                  return 243;
+                                                                  return 249;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -15643,7 +19526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx0011100x110xx0111110xxxxxxxxxx
                                                                          fmaxv.  */
                                                                          10987654321098765432109876543210
                                                                          xx0011100x110xx0111110xxxxxxxxxx
                                                                          fmaxv.  */
-                                                                      return 37;
+                                                                      return 39;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -15651,7 +19534,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx1011100x110xx0111110xxxxxxxxxx
                                                                          fmaxv.  */
                                                                          10987654321098765432109876543210
                                                                          xx1011100x110xx0111110xxxxxxxxxx
                                                                          fmaxv.  */
-                                                                      return 36;
+                                                                      return 38;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -15662,7 +19545,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx0011101x110xx0111110xxxxxxxxxx
                                                                          fminv.  */
                                                                          10987654321098765432109876543210
                                                                          xx0011101x110xx0111110xxxxxxxxxx
                                                                          fminv.  */
-                                                                      return 41;
+                                                                      return 43;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -15670,48 +19553,70 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx1011101x110xx0111110xxxxxxxxxx
                                                                          fminv.  */
                                                                          10987654321098765432109876543210
                                                                          xx1011101x110xx0111110xxxxxxxxxx
                                                                          fminv.  */
-                                                                      return 40;
+                                                                      return 42;
                                                                     }
                                                                 }
                                                             }
                                                                     }
                                                                 }
                                                             }
-                                                        }
-                                                      else
-                                                        {
-                                                          if (((word >> 29) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xx001110xx1x1xx0111110xxxxxxxxxx
-                                                                 fabs.  */
-                                                              return 195;
-                                                            }
+                                                        }
+                                                      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
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xx101110xx1x1xx0111110xxxxxxxxxx
-                                                                 fneg.  */
-                                                              return 244;
+                                                                 xxx011101x1x0xx1111110xxxxxxxxxx
+                                                                 fsqrt.  */
+                                                              return 260;
                                                             }
                                                         }
                                                             }
                                                         }
-                                                    }
-                                                  else
-                                                    {
-                                                      if (((word >> 19) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxx01110xx1x0xx1111110xxxxxxxxxx
-                                                             fsqrt.  */
-                                                          return 254;
-                                                        }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                              xxx01110xx1x1xx1111110xxxxxxxxxx
                                                              fsqrt.  */
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
                                                              xxx01110xx1x1xx1111110xxxxxxxxxx
                                                              fsqrt.  */
-                                                          return 255;
+                                                          return 261;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -15737,7 +19642,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx100001xxxxxxxxxx
                                                              add.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx100001xxxxxxxxxx
                                                              add.  */
-                                                          return 277;
+                                                          return 283;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -15745,7 +19650,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              1x001110xx1xxxxx100001xxxxxxxxxx
                                                              sha512h2.  */
                                                              10987654321098765432109876543210
                                                              1x001110xx1xxxxx100001xxxxxxxxxx
                                                              sha512h2.  */
-                                                          return 2010;
+                                                          return 2341;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -15754,7 +19659,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx100001xxxxxxxxxx
                                                          sub.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx100001xxxxxxxxxx
                                                          sub.  */
-                                                      return 329;
+                                                      return 335;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -15769,7 +19674,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  0x0011100x1xxxxx110001xxxxxxxxxx
                                                                  fmaxnm.  */
                                                                  10987654321098765432109876543210
                                                                  0x0011100x1xxxxx110001xxxxxxxxxx
                                                                  fmaxnm.  */
-                                                              return 285;
+                                                              return 291;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -15777,7 +19682,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x0011100x1xxxxx110001xxxxxxxxxx
                                                                  sm3partw2.  */
                                                                  10987654321098765432109876543210
                                                                  1x0011100x1xxxxx110001xxxxxxxxxx
                                                                  sm3partw2.  */
-                                                              return 2023;
+                                                              return 2354;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -15786,7 +19691,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx1011100x1xxxxx110001xxxxxxxxxx
                                                              fmaxnmp.  */
                                                              10987654321098765432109876543210
                                                              xx1011100x1xxxxx110001xxxxxxxxxx
                                                              fmaxnmp.  */
-                                                          return 336;
+                                                          return 342;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -15797,7 +19702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0011101x1xxxxx110001xxxxxxxxxx
                                                              fminnm.  */
                                                              10987654321098765432109876543210
                                                              xx0011101x1xxxxx110001xxxxxxxxxx
                                                              fminnm.  */
-                                                          return 301;
+                                                          return 307;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -15805,7 +19710,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx1011101x1xxxxx110001xxxxxxxxxx
                                                              fminnmp.  */
                                                              10987654321098765432109876543210
                                                              xx1011101x1xxxxx110001xxxxxxxxxx
                                                              fminnmp.  */
-                                                          return 352;
+                                                          return 358;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -15820,7 +19725,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx001110xx1xxxxx101001xxxxxxxxxx
                                                          smaxp.  */
                                                          10987654321098765432109876543210
                                                          xx001110xx1xxxxx101001xxxxxxxxxx
                                                          smaxp.  */
-                                                      return 281;
+                                                      return 287;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -15828,7 +19733,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx101001xxxxxxxxxx
                                                          umaxp.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx101001xxxxxxxxxx
                                                          umaxp.  */
-                                                      return 333;
+                                                      return 339;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -15841,7 +19746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0011100x1xxxxx111001xxxxxxxxxx
                                                              fcmeq.  */
                                                              10987654321098765432109876543210
                                                              xx0011100x1xxxxx111001xxxxxxxxxx
                                                              fcmeq.  */
-                                                          return 293;
+                                                          return 299;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -15849,7 +19754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx1011100x1xxxxx111001xxxxxxxxxx
                                                              fcmge.  */
                                                              10987654321098765432109876543210
                                                              xx1011100x1xxxxx111001xxxxxxxxxx
                                                              fcmge.  */
-                                                          return 342;
+                                                          return 348;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -15858,7 +19763,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx011101x1xxxxx111001xxxxxxxxxx
                                                          fcmgt.  */
                                                          10987654321098765432109876543210
                                                          xxx011101x1xxxxx111001xxxxxxxxxx
                                                          fcmgt.  */
-                                                      return 356;
+                                                      return 362;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -15875,7 +19780,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx001110xx1xxxxx100101xxxxxxxxxx
                                                          mla.  */
                                                          10987654321098765432109876543210
                                                          xx001110xx1xxxxx100101xxxxxxxxxx
                                                          mla.  */
-                                                      return 279;
+                                                      return 285;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -15883,7 +19788,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx100101xxxxxxxxxx
                                                          mls.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx100101xxxxxxxxxx
                                                          mls.  */
-                                                      return 331;
+                                                      return 337;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -15896,7 +19801,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0011100x1xxxxx110101xxxxxxxxxx
                                                              fadd.  */
                                                              10987654321098765432109876543210
                                                              xx0011100x1xxxxx110101xxxxxxxxxx
                                                              fadd.  */
-                                                          return 289;
+                                                          return 295;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -15904,7 +19809,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx1011100x1xxxxx110101xxxxxxxxxx
                                                              faddp.  */
                                                              10987654321098765432109876543210
                                                              xx1011100x1xxxxx110101xxxxxxxxxx
                                                              faddp.  */
-                                                          return 338;
+                                                          return 344;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -15915,7 +19820,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0011101x1xxxxx110101xxxxxxxxxx
                                                              fsub.  */
                                                              10987654321098765432109876543210
                                                              xx0011101x1xxxxx110101xxxxxxxxxx
                                                              fsub.  */
-                                                          return 305;
+                                                          return 311;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -15923,7 +19828,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx1011101x1xxxxx110101xxxxxxxxxx
                                                              fabd.  */
                                                              10987654321098765432109876543210
                                                              xx1011101x1xxxxx110101xxxxxxxxxx
                                                              fabd.  */
-                                                          return 354;
+                                                          return 360;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -15938,7 +19843,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx001110xx1xxxxx101101xxxxxxxxxx
                                                          sqdmulh.  */
                                                          10987654321098765432109876543210
                                                          xx001110xx1xxxxx101101xxxxxxxxxx
                                                          sqdmulh.  */
-                                                      return 283;
+                                                      return 289;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -15946,7 +19851,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx101101xxxxxxxxxx
                                                          sqrdmulh.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx101101xxxxxxxxxx
                                                          sqrdmulh.  */
-                                                      return 335;
+                                                      return 341;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -15959,7 +19864,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0011100x1xxxxx111101xxxxxxxxxx
                                                              fmax.  */
                                                              10987654321098765432109876543210
                                                              xx0011100x1xxxxx111101xxxxxxxxxx
                                                              fmax.  */
-                                                          return 295;
+                                                          return 301;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -15967,7 +19872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx1011100x1xxxxx111101xxxxxxxxxx
                                                              fmaxp.  */
                                                              10987654321098765432109876543210
                                                              xx1011100x1xxxxx111101xxxxxxxxxx
                                                              fmaxp.  */
-                                                          return 346;
+                                                          return 352;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -15978,7 +19883,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0011101x1xxxxx111101xxxxxxxxxx
                                                              fmin.  */
                                                              10987654321098765432109876543210
                                                              xx0011101x1xxxxx111101xxxxxxxxxx
                                                              fmin.  */
-                                                          return 307;
+                                                          return 313;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -15986,7 +19891,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx1011101x1xxxxx111101xxxxxxxxxx
                                                              fminp.  */
                                                              10987654321098765432109876543210
                                                              xx1011101x1xxxxx111101xxxxxxxxxx
                                                              fminp.  */
-                                                          return 360;
+                                                          return 366;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -16009,7 +19914,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx100011xxxxxxxxxx
                                                              cmtst.  */
                                                              10987654321098765432109876543210
                                                              0x001110xx1xxxxx100011xxxxxxxxxx
                                                              cmtst.  */
-                                                          return 278;
+                                                          return 284;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -16017,7 +19922,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              1x001110xx1xxxxx100011xxxxxxxxxx
                                                              rax1.  */
                                                              10987654321098765432109876543210
                                                              1x001110xx1xxxxx100011xxxxxxxxxx
                                                              rax1.  */
-                                                          return 2014;
+                                                          return 2345;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -16026,7 +19931,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx100011xxxxxxxxxx
                                                          cmeq.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx100011xxxxxxxxxx
                                                          cmeq.  */
-                                                      return 330;
+                                                      return 336;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -16039,7 +19944,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0011100x1xxxxx110011xxxxxxxxxx
                                                              fmla.  */
                                                              10987654321098765432109876543210
                                                              xx0011100x1xxxxx110011xxxxxxxxxx
                                                              fmla.  */
-                                                          return 287;
+                                                          return 293;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -16049,7 +19954,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x01011100x1xxxxx110011xxxxxxxxxx
                                                                  fmlal2.  */
                                                                  10987654321098765432109876543210
                                                                  x01011100x1xxxxx110011xxxxxxxxxx
                                                                  fmlal2.  */
-                                                              return 2028;
+                                                              return 2359;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -16057,7 +19962,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x11011100x1xxxxx110011xxxxxxxxxx
                                                                  fmlal2.  */
                                                                  10987654321098765432109876543210
                                                                  x11011100x1xxxxx110011xxxxxxxxxx
                                                                  fmlal2.  */
-                                                              return 2032;
+                                                              return 2363;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -16069,7 +19974,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0011101x1xxxxx110011xxxxxxxxxx
                                                              fmls.  */
                                                              10987654321098765432109876543210
                                                              xx0011101x1xxxxx110011xxxxxxxxxx
                                                              fmls.  */
-                                                          return 303;
+                                                          return 309;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -16079,7 +19984,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x01011101x1xxxxx110011xxxxxxxxxx
                                                                  fmlsl2.  */
                                                                  10987654321098765432109876543210
                                                                  x01011101x1xxxxx110011xxxxxxxxxx
                                                                  fmlsl2.  */
-                                                              return 2029;
+                                                              return 2360;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -16087,7 +19992,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x11011101x1xxxxx110011xxxxxxxxxx
                                                                  fmlsl2.  */
                                                                  10987654321098765432109876543210
                                                                  x11011101x1xxxxx110011xxxxxxxxxx
                                                                  fmlsl2.  */
-                                                              return 2033;
+                                                              return 2364;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -16103,7 +20008,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx001110xx1xxxxx101011xxxxxxxxxx
                                                          sminp.  */
                                                          10987654321098765432109876543210
                                                          xx001110xx1xxxxx101011xxxxxxxxxx
                                                          sminp.  */
-                                                      return 282;
+                                                      return 288;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -16111,7 +20016,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx101011xxxxxxxxxx
                                                          uminp.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx101011xxxxxxxxxx
                                                          uminp.  */
-                                                      return 334;
+                                                      return 340;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -16126,7 +20031,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x00011100x1xxxxx111011xxxxxxxxxx
                                                                  fmlal.  */
                                                                  10987654321098765432109876543210
                                                                  x00011100x1xxxxx111011xxxxxxxxxx
                                                                  fmlal.  */
-                                                              return 2026;
+                                                              return 2357;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -16134,7 +20039,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10011100x1xxxxx111011xxxxxxxxxx
                                                                  fmlal.  */
                                                                  10987654321098765432109876543210
                                                                  x10011100x1xxxxx111011xxxxxxxxxx
                                                                  fmlal.  */
-                                                              return 2030;
+                                                              return 2361;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -16143,7 +20048,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx1011100x1xxxxx111011xxxxxxxxxx
                                                              facge.  */
                                                              10987654321098765432109876543210
                                                              xx1011100x1xxxxx111011xxxxxxxxxx
                                                              facge.  */
-                                                          return 344;
+                                                          return 350;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -16156,7 +20061,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x00011101x1xxxxx111011xxxxxxxxxx
                                                                  fmlsl.  */
                                                                  10987654321098765432109876543210
                                                                  x00011101x1xxxxx111011xxxxxxxxxx
                                                                  fmlsl.  */
-                                                              return 2027;
+                                                              return 2358;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -16164,7 +20069,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10011101x1xxxxx111011xxxxxxxxxx
                                                                  fmlsl.  */
                                                                  10987654321098765432109876543210
                                                                  x10011101x1xxxxx111011xxxxxxxxxx
                                                                  fmlsl.  */
-                                                              return 2031;
+                                                              return 2362;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -16173,7 +20078,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx1011101x1xxxxx111011xxxxxxxxxx
                                                              facgt.  */
                                                              10987654321098765432109876543210
                                                              xx1011101x1xxxxx111011xxxxxxxxxx
                                                              facgt.  */
-                                                          return 358;
+                                                          return 364;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -16191,7 +20096,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx001110xx1xxxxx100111xxxxxxxxxx
                                                          mul.  */
                                                          10987654321098765432109876543210
                                                          xx001110xx1xxxxx100111xxxxxxxxxx
                                                          mul.  */
-                                                      return 280;
+                                                      return 286;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -16199,7 +20104,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx100111xxxxxxxxxx
                                                          pmul.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx100111xxxxxxxxxx
                                                          pmul.  */
-                                                      return 332;
+                                                      return 338;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -16210,7 +20115,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx001110xx1xxxxx110111xxxxxxxxxx
                                                          fmulx.  */
                                                          10987654321098765432109876543210
                                                          xx001110xx1xxxxx110111xxxxxxxxxx
                                                          fmulx.  */
-                                                      return 291;
+                                                      return 297;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -16218,7 +20123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx110111xxxxxxxxxx
                                                          fmul.  */
                                                          10987654321098765432109876543210
                                                          xx101110xx1xxxxx110111xxxxxxxxxx
                                                          fmul.  */
-                                                      return 340;
+                                                      return 346;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -16230,7 +20135,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxx01110xx1xxxxx101111xxxxxxxxxx
                                                      addp.  */
                                                      10987654321098765432109876543210
                                                      xxx01110xx1xxxxx101111xxxxxxxxxx
                                                      addp.  */
-                                                  return 284;
+                                                  return 290;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -16242,7 +20147,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0011100x1xxxxx111111xxxxxxxxxx
                                                              frecps.  */
                                                              10987654321098765432109876543210
                                                              xx0011100x1xxxxx111111xxxxxxxxxx
                                                              frecps.  */
-                                                          return 297;
+                                                          return 303;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -16250,7 +20155,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx1011100x1xxxxx111111xxxxxxxxxx
                                                              fdiv.  */
                                                              10987654321098765432109876543210
                                                              xx1011100x1xxxxx111111xxxxxxxxxx
                                                              fdiv.  */
-                                                          return 348;
+                                                          return 354;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -16259,7 +20164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx011101x1xxxxx111111xxxxxxxxxx
                                                          frsqrts.  */
                                                          10987654321098765432109876543210
                                                          xxx011101x1xxxxx111111xxxxxxxxxx
                                                          frsqrts.  */
-                                                      return 309;
+                                                      return 315;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -16294,7 +20199,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx100000x00000xxxxxxxxxx
                                                                      fcvtns.  */
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx100000x00000xxxxxxxxxx
                                                                      fcvtns.  */
-                                                                  return 756;
+                                                                  return 767;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -16302,7 +20207,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx110000x00000xxxxxxxxxx
                                                                      fcvtms.  */
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx110000x00000xxxxxxxxxx
                                                                      fcvtms.  */
-                                                                  return 776;
+                                                                  return 787;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -16313,7 +20218,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx101000x00000xxxxxxxxxx
                                                                      fcvtps.  */
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx101000x00000xxxxxxxxxx
                                                                      fcvtps.  */
-                                                                  return 772;
+                                                                  return 783;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -16321,7 +20226,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx111000x00000xxxxxxxxxx
                                                                      fcvtzs.  */
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx111000x00000xxxxxxxxxx
                                                                      fcvtzs.  */
-                                                                  return 780;
+                                                                  return 791;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -16331,7 +20236,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx11110xx1xx100x00000xxxxxxxxxx
                                                              fcvtas.  */
                                                              10987654321098765432109876543210
                                                              xxx11110xx1xx100x00000xxxxxxxxxx
                                                              fcvtas.  */
-                                                          return 764;
+                                                          return 775;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -16342,7 +20247,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx11110xx1xx010x00000xxxxxxxxxx
                                                              scvtf.  */
                                                              10987654321098765432109876543210
                                                              xxx11110xx1xx010x00000xxxxxxxxxx
                                                              scvtf.  */
-                                                          return 760;
+                                                          return 771;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -16352,7 +20257,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1x0110x00000xxxxxxxxxx
                                                                  fmov.  */
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1x0110x00000xxxxxxxxxx
                                                                  fmov.  */
-                                                              return 768;
+                                                              return 779;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -16362,7 +20267,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx101110x00000xxxxxxxxxx
                                                                      fmov.  */
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx101110x00000xxxxxxxxxx
                                                                      fmov.  */
-                                                                  return 784;
+                                                                  return 795;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -16370,7 +20275,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx111110x00000xxxxxxxxxx
                                                                      fjcvtzs.  */
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx111110x00000xxxxxxxxxx
                                                                      fjcvtzs.  */
-                                                                  return 786;
+                                                                  return 797;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -16390,7 +20295,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx100001x00000xxxxxxxxxx
                                                                      fcvtnu.  */
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx100001x00000xxxxxxxxxx
                                                                      fcvtnu.  */
-                                                                  return 758;
+                                                                  return 769;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -16398,7 +20303,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx110001x00000xxxxxxxxxx
                                                                      fcvtmu.  */
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx110001x00000xxxxxxxxxx
                                                                      fcvtmu.  */
-                                                                  return 778;
+                                                                  return 789;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -16409,7 +20314,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx101001x00000xxxxxxxxxx
                                                                      fcvtpu.  */
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx101001x00000xxxxxxxxxx
                                                                      fcvtpu.  */
-                                                                  return 774;
+                                                                  return 785;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -16417,7 +20322,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx111001x00000xxxxxxxxxx
                                                                      fcvtzu.  */
                                                                      10987654321098765432109876543210
                                                                      xxx11110xx111001x00000xxxxxxxxxx
                                                                      fcvtzu.  */
-                                                                  return 782;
+                                                                  return 793;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -16427,7 +20332,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx11110xx1xx101x00000xxxxxxxxxx
                                                              fcvtau.  */
                                                              10987654321098765432109876543210
                                                              xxx11110xx1xx101x00000xxxxxxxxxx
                                                              fcvtau.  */
-                                                          return 766;
+                                                          return 777;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -16438,7 +20343,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx11110xx1xx011x00000xxxxxxxxxx
                                                              ucvtf.  */
                                                              10987654321098765432109876543210
                                                              xxx11110xx1xx011x00000xxxxxxxxxx
                                                              ucvtf.  */
-                                                          return 762;
+                                                          return 773;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -16448,7 +20353,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1x0111x00000xxxxxxxxxx
                                                                  fmov.  */
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1x0111x00000xxxxxxxxxx
                                                                  fmov.  */
-                                                              return 770;
+                                                              return 781;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -16456,7 +20361,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1x1111x00000xxxxxxxxxx
                                                                  fmov.  */
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1x1111x00000xxxxxxxxxx
                                                                  fmov.  */
-                                                              return 785;
+                                                              return 796;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -16472,11 +20377,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           if (((word >> 18) & 0x1) == 0)
                                                             {
                                                         {
                                                           if (((word >> 18) & 0x1) == 0)
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxx11110xx1xx000010000xxxxxxxxxx
-                                                                 fmov.  */
-                                                              return 799;
+                                                              if (((word >> 19) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxx11110xx1x0000010000xxxxxxxxxx
+                                                                     fmov.  */
+                                                                  return 816;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxx11110xx1x1000010000xxxxxxxxxx
+                                                                     frint32z.  */
+                                                                  return 812;
+                                                                }
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -16484,18 +20400,29 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1xx100010000xxxxxxxxxx
                                                                  frintn.  */
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1xx100010000xxxxxxxxxx
                                                                  frintn.  */
-                                                              return 808;
+                                                              return 825;
                                                             }
                                                         }
                                                       else
                                                         {
                                                           if (((word >> 18) & 0x1) == 0)
                                                             {
                                                             }
                                                         }
                                                       else
                                                         {
                                                           if (((word >> 18) & 0x1) == 0)
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxx11110xx1xx001010000xxxxxxxxxx
-                                                                 fneg.  */
-                                                              return 803;
+                                                              if (((word >> 19) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxx11110xx1x0001010000xxxxxxxxxx
+                                                                     fneg.  */
+                                                                  return 820;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxx11110xx1x1001010000xxxxxxxxxx
+                                                                     frint64z.  */
+                                                                  return 814;
+                                                                }
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -16503,7 +20430,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1xx101010000xxxxxxxxxx
                                                                  frintm.  */
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1xx101010000xxxxxxxxxx
                                                                  frintm.  */
-                                                              return 812;
+                                                              return 829;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -16513,11 +20440,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           if (((word >> 18) & 0x1) == 0)
                                                             {
                                                         {
                                                           if (((word >> 18) & 0x1) == 0)
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxx11110xx1xx000110000xxxxxxxxxx
-                                                                 fabs.  */
-                                                              return 801;
+                                                              if (((word >> 19) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxx11110xx1x0000110000xxxxxxxxxx
+                                                                     fabs.  */
+                                                                  return 818;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxx11110xx1x1000110000xxxxxxxxxx
+                                                                     frint32x.  */
+                                                                  return 813;
+                                                                }
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -16525,18 +20463,29 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1xx100110000xxxxxxxxxx
                                                                  frintp.  */
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1xx100110000xxxxxxxxxx
                                                                  frintp.  */
-                                                              return 810;
+                                                              return 827;
                                                             }
                                                         }
                                                       else
                                                         {
                                                           if (((word >> 18) & 0x1) == 0)
                                                             {
                                                             }
                                                         }
                                                       else
                                                         {
                                                           if (((word >> 18) & 0x1) == 0)
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxx11110xx1xx001110000xxxxxxxxxx
-                                                                 fsqrt.  */
-                                                              return 805;
+                                                              if (((word >> 19) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxx11110xx1x0001110000xxxxxxxxxx
+                                                                     fsqrt.  */
+                                                                  return 822;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxx11110xx1x1001110000xxxxxxxxxx
+                                                                     frint64x.  */
+                                                                  return 815;
+                                                                }
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -16544,7 +20493,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1xx101110000xxxxxxxxxx
                                                                  frintz.  */
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1xx101110000xxxxxxxxxx
                                                                  frintz.  */
-                                                              return 814;
+                                                              return 831;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -16557,7 +20506,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx11110xx1xx01xx10000xxxxxxxxxx
                                                          fcvt.  */
                                                          10987654321098765432109876543210
                                                          xxx11110xx1xx01xx10000xxxxxxxxxx
                                                          fcvt.  */
-                                                      return 807;
+                                                      return 824;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -16569,7 +20518,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1xx110010000xxxxxxxxxx
                                                                  frinta.  */
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1xx110010000xxxxxxxxxx
                                                                  frinta.  */
-                                                              return 816;
+                                                              return 833;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -16577,7 +20526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1xx111010000xxxxxxxxxx
                                                                  frintx.  */
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx1xx111010000xxxxxxxxxx
                                                                  frintx.  */
-                                                              return 818;
+                                                              return 835;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -16586,7 +20535,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx11110xx1xx11x110000xxxxxxxxxx
                                                              frinti.  */
                                                              10987654321098765432109876543210
                                                              xxx11110xx1xx11x110000xxxxxxxxxx
                                                              frinti.  */
-                                                          return 820;
+                                                          return 837;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -16602,7 +20551,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxx11110xx1xxxxxxx1000xxxxx00xxx
                                                      fcmp.  */
                                                      10987654321098765432109876543210
                                                      xxx11110xx1xxxxxxx1000xxxxx00xxx
                                                      fcmp.  */
-                                                  return 791;
+                                                  return 802;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -16610,7 +20559,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxx11110xx1xxxxxxx1000xxxxx10xxx
                                                      fcmpe.  */
                                                      10987654321098765432109876543210
                                                      xxx11110xx1xxxxxxx1000xxxxx10xxx
                                                      fcmpe.  */
-                                                  return 793;
+                                                  return 804;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -16621,7 +20570,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxx11110xx1xxxxxxx1000xxxxx01xxx
                                                      fcmp.  */
                                                      10987654321098765432109876543210
                                                      xxx11110xx1xxxxxxx1000xxxxx01xxx
                                                      fcmp.  */
-                                                  return 795;
+                                                  return 806;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -16629,7 +20578,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxx11110xx1xxxxxxx1000xxxxx11xxx
                                                      fcmpe.  */
                                                      10987654321098765432109876543210
                                                      xxx11110xx1xxxxxxx1000xxxxx11xxx
                                                      fcmpe.  */
-                                                  return 797;
+                                                  return 808;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -16642,7 +20591,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x0x11110xx1xxxxxxxx100xxxxxxxxxx
                                              fmov.  */
                                              10987654321098765432109876543210
                                              x0x11110xx1xxxxxxxx100xxxxxxxxxx
                                              fmov.  */
-                                          return 848;
+                                          return 865;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -16654,7 +20603,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1x11110xx1xxxxxx00100xxxxxxxxxx
                                                      sqdmlal.  */
                                                      10987654321098765432109876543210
                                                      x1x11110xx1xxxxxx00100xxxxxxxxxx
                                                      sqdmlal.  */
-                                                  return 416;
+                                                  return 422;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -16662,7 +20611,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1x11110xx1xxxxxx10100xxxxxxxxxx
                                                      sqdmull.  */
                                                      10987654321098765432109876543210
                                                      x1x11110xx1xxxxxx10100xxxxxxxxxx
                                                      sqdmull.  */
-                                                  return 418;
+                                                  return 424;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -16671,7 +20620,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1x11110xx1xxxxxxx1100xxxxxxxxxx
                                                  sqdmlsl.  */
                                                  10987654321098765432109876543210
                                                  x1x11110xx1xxxxxxx1100xxxxxxxxxx
                                                  sqdmlsl.  */
-                                              return 417;
+                                              return 423;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -16692,7 +20641,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x11110xx1xxxxx000010xxxxxxxxxx
                                                          fmul.  */
                                                          10987654321098765432109876543210
                                                          x0x11110xx1xxxxx000010xxxxxxxxxx
                                                          fmul.  */
-                                                      return 822;
+                                                      return 839;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -16700,7 +20649,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1x11110xx1xxxxx000010xxxxxxxxxx
                                                          sha1h.  */
                                                          10987654321098765432109876543210
                                                          x1x11110xx1xxxxx000010xxxxxxxxxx
                                                          sha1h.  */
-                                                      return 669;
+                                                      return 675;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -16713,7 +20662,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0011110xx1xxxxx100010xxxxxxxxxx
                                                              fnmul.  */
                                                              10987654321098765432109876543210
                                                              x0011110xx1xxxxx100010xxxxxxxxxx
                                                              fnmul.  */
-                                                          return 838;
+                                                          return 855;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -16721,7 +20670,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1011110xx1xxxxx100010xxxxxxxxxx
                                                              cmgt.  */
                                                              10987654321098765432109876543210
                                                              x1011110xx1xxxxx100010xxxxxxxxxx
                                                              cmgt.  */
-                                                          return 476;
+                                                          return 482;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -16730,7 +20679,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx100010xxxxxxxxxx
                                                          cmge.  */
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx100010xxxxxxxxxx
                                                          cmge.  */
-                                                      return 505;
+                                                      return 511;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -16746,7 +20695,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0011110xx1xxxxx010010xxxxxxxxxx
                                                              fmax.  */
                                                              10987654321098765432109876543210
                                                              x0011110xx1xxxxx010010xxxxxxxxxx
                                                              fmax.  */
-                                                          return 830;
+                                                          return 847;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -16754,7 +20703,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1011110xx1xxxxx010010xxxxxxxxxx
                                                              sqxtn.  */
                                                              10987654321098765432109876543210
                                                              x1011110xx1xxxxx010010xxxxxxxxxx
                                                              sqxtn.  */
-                                                          return 480;
+                                                          return 486;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -16763,7 +20712,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx010010xxxxxxxxxx
                                                          uqxtn.  */
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx010010xxxxxxxxxx
                                                          uqxtn.  */
-                                                      return 509;
+                                                      return 515;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -16780,7 +20729,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx011110xx100xx0110010xxxxxxxxxx
                                                                      fcmgt.  */
                                                                      10987654321098765432109876543210
                                                                      xx011110xx100xx0110010xxxxxxxxxx
                                                                      fcmgt.  */
-                                                                  return 489;
+                                                                  return 495;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -16788,7 +20737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx111110xx100xx0110010xxxxxxxxxx
                                                                      fcmge.  */
                                                                      10987654321098765432109876543210
                                                                      xx111110xx100xx0110010xxxxxxxxxx
                                                                      fcmge.  */
-                                                                  return 519;
+                                                                  return 525;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -16801,7 +20750,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx0111100x110xx0110010xxxxxxxxxx
                                                                          fmaxnmp.  */
                                                                          10987654321098765432109876543210
                                                                          xx0111100x110xx0110010xxxxxxxxxx
                                                                          fmaxnmp.  */
-                                                                      return 533;
+                                                                      return 539;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -16809,7 +20758,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx1111100x110xx0110010xxxxxxxxxx
                                                                          fmaxnmp.  */
                                                                          10987654321098765432109876543210
                                                                          xx1111100x110xx0110010xxxxxxxxxx
                                                                          fmaxnmp.  */
-                                                                      return 532;
+                                                                      return 538;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -16820,7 +20769,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx0111101x110xx0110010xxxxxxxxxx
                                                                          fminnmp.  */
                                                                          10987654321098765432109876543210
                                                                          xx0111101x110xx0110010xxxxxxxxxx
                                                                          fminnmp.  */
-                                                                      return 539;
+                                                                      return 545;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -16828,7 +20777,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx1111101x110xx0110010xxxxxxxxxx
                                                                          fminnmp.  */
                                                                          10987654321098765432109876543210
                                                                          xx1111101x110xx0110010xxxxxxxxxx
                                                                          fminnmp.  */
-                                                                      return 538;
+                                                                      return 544;
                                                                     }
                                                                 }
                                                             }
                                                                     }
                                                                 }
                                                             }
@@ -16841,7 +20790,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011110xx1x1xx0110010xxxxxxxxxx
                                                                  fcmgt.  */
                                                                  10987654321098765432109876543210
                                                                  xx011110xx1x1xx0110010xxxxxxxxxx
                                                                  fcmgt.  */
-                                                              return 490;
+                                                              return 496;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -16849,7 +20798,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx111110xx1x1xx0110010xxxxxxxxxx
                                                                  fcmge.  */
                                                                  10987654321098765432109876543210
                                                                  xx111110xx1x1xx0110010xxxxxxxxxx
                                                                  fcmge.  */
-                                                              return 520;
+                                                              return 526;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -16863,7 +20812,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011110xx1x0xx1110010xxxxxxxxxx
                                                                  fcvtas.  */
                                                                  10987654321098765432109876543210
                                                                  xx011110xx1x0xx1110010xxxxxxxxxx
                                                                  fcvtas.  */
-                                                              return 485;
+                                                              return 491;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -16871,7 +20820,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx111110xx1x0xx1110010xxxxxxxxxx
                                                                  fcvtau.  */
                                                                  10987654321098765432109876543210
                                                                  xx111110xx1x0xx1110010xxxxxxxxxx
                                                                  fcvtau.  */
-                                                              return 515;
+                                                              return 521;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -16882,7 +20831,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011110xx1x1xx1110010xxxxxxxxxx
                                                                  fcvtas.  */
                                                                  10987654321098765432109876543210
                                                                  xx011110xx1x1xx1110010xxxxxxxxxx
                                                                  fcvtas.  */
-                                                              return 486;
+                                                              return 492;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -16890,7 +20839,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx111110xx1x1xx1110010xxxxxxxxxx
                                                                  fcvtau.  */
                                                                  10987654321098765432109876543210
                                                                  xx111110xx1x1xx1110010xxxxxxxxxx
                                                                  fcvtau.  */
-                                                              return 516;
+                                                              return 522;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -16911,7 +20860,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0011110xx1xxxxx001010xxxxxxxxxx
                                                              fadd.  */
                                                              10987654321098765432109876543210
                                                              x0011110xx1xxxxx001010xxxxxxxxxx
                                                              fadd.  */
-                                                          return 826;
+                                                          return 843;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -16919,7 +20868,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1011110xx1xxxxx001010xxxxxxxxxx
                                                              sha256su0.  */
                                                              10987654321098765432109876543210
                                                              x1011110xx1xxxxx001010xxxxxxxxxx
                                                              sha256su0.  */
-                                                          return 671;
+                                                          return 677;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -16928,7 +20877,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx001010xxxxxxxxxx
                                                          sqxtun.  */
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx001010xxxxxxxxxx
                                                          sqxtun.  */
-                                                      return 508;
+                                                      return 514;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -16939,7 +20888,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx11110xx1xxxx0101010xxxxxxxxxx
                                                          cmlt.  */
                                                          10987654321098765432109876543210
                                                          xxx11110xx1xxxx0101010xxxxxxxxxx
                                                          cmlt.  */
-                                                      return 478;
+                                                      return 484;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -16953,7 +20902,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0111100x1x0xx1101010xxxxxxxxxx
                                                                      fcvtns.  */
                                                                      10987654321098765432109876543210
                                                                      xx0111100x1x0xx1101010xxxxxxxxxx
                                                                      fcvtns.  */
-                                                                  return 481;
+                                                                  return 487;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -16961,7 +20910,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1111100x1x0xx1101010xxxxxxxxxx
                                                                      fcvtnu.  */
                                                                      10987654321098765432109876543210
                                                                      xx1111100x1x0xx1101010xxxxxxxxxx
                                                                      fcvtnu.  */
-                                                                  return 511;
+                                                                  return 517;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -16972,7 +20921,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0111101x1x0xx1101010xxxxxxxxxx
                                                                      fcvtps.  */
                                                                      10987654321098765432109876543210
                                                                      xx0111101x1x0xx1101010xxxxxxxxxx
                                                                      fcvtps.  */
-                                                                  return 495;
+                                                                  return 501;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -16980,7 +20929,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1111101x1x0xx1101010xxxxxxxxxx
                                                                      fcvtpu.  */
                                                                      10987654321098765432109876543210
                                                                      xx1111101x1x0xx1101010xxxxxxxxxx
                                                                      fcvtpu.  */
-                                                                  return 523;
+                                                                  return 529;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -16994,7 +20943,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0111100x1x1xx1101010xxxxxxxxxx
                                                                      fcvtns.  */
                                                                      10987654321098765432109876543210
                                                                      xx0111100x1x1xx1101010xxxxxxxxxx
                                                                      fcvtns.  */
-                                                                  return 482;
+                                                                  return 488;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -17002,7 +20951,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1111100x1x1xx1101010xxxxxxxxxx
                                                                      fcvtnu.  */
                                                                      10987654321098765432109876543210
                                                                      xx1111100x1x1xx1101010xxxxxxxxxx
                                                                      fcvtnu.  */
-                                                                  return 512;
+                                                                  return 518;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -17013,7 +20962,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0111101x1x1xx1101010xxxxxxxxxx
                                                                      fcvtps.  */
                                                                      10987654321098765432109876543210
                                                                      xx0111101x1x1xx1101010xxxxxxxxxx
                                                                      fcvtps.  */
-                                                                  return 496;
+                                                                  return 502;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -17021,7 +20970,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1111101x1x1xx1101010xxxxxxxxxx
                                                                      fcvtpu.  */
                                                                      10987654321098765432109876543210
                                                                      xx1111101x1x1xx1101010xxxxxxxxxx
                                                                      fcvtpu.  */
-                                                                  return 524;
+                                                                  return 530;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -17038,7 +20987,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx011110xx1xxxxx011010xxxxxxxxxx
                                                          fmaxnm.  */
                                                          10987654321098765432109876543210
                                                          xx011110xx1xxxxx011010xxxxxxxxxx
                                                          fmaxnm.  */
-                                                      return 834;
+                                                      return 851;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -17046,7 +20995,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx011010xxxxxxxxxx
                                                          fcvtxn.  */
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx011010xxxxxxxxxx
                                                          fcvtxn.  */
-                                                      return 510;
+                                                      return 516;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -17057,7 +21006,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx11110xx1x0xxx111010xxxxxxxxxx
                                                          fcmlt.  */
                                                          10987654321098765432109876543210
                                                          xxx11110xx1x0xxx111010xxxxxxxxxx
                                                          fcmlt.  */
-                                                      return 493;
+                                                      return 499;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -17065,7 +21014,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx11110xx1x1xxx111010xxxxxxxxxx
                                                          fcmlt.  */
                                                          10987654321098765432109876543210
                                                          xxx11110xx1x1xxx111010xxxxxxxxxx
                                                          fcmlt.  */
-                                                      return 494;
+                                                      return 500;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -17085,7 +21034,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x11110xx1xxxxx000110xxxxxxxxxx
                                                          fdiv.  */
                                                          10987654321098765432109876543210
                                                          x0x11110xx1xxxxx000110xxxxxxxxxx
                                                          fdiv.  */
-                                                      return 824;
+                                                      return 841;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -17093,7 +21042,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1x11110xx1xxxxx000110xxxxxxxxxx
                                                          sha1su1.  */
                                                          10987654321098765432109876543210
                                                          x1x11110xx1xxxxx000110xxxxxxxxxx
                                                          sha1su1.  */
-                                                      return 670;
+                                                      return 676;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -17104,7 +21053,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx011110xx1xxxxx100110xxxxxxxxxx
                                                          cmeq.  */
                                                          10987654321098765432109876543210
                                                          xx011110xx1xxxxx100110xxxxxxxxxx
                                                          cmeq.  */
-                                                      return 477;
+                                                      return 483;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -17112,7 +21061,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx100110xxxxxxxxxx
                                                          cmle.  */
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx100110xxxxxxxxxx
                                                          cmle.  */
-                                                      return 506;
+                                                      return 512;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -17124,7 +21073,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxx11110xx1xxxxx010110xxxxxxxxxx
                                                      fmin.  */
                                                      10987654321098765432109876543210
                                                      xxx11110xx1xxxxx010110xxxxxxxxxx
                                                      fmin.  */
-                                                  return 832;
+                                                  return 849;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -17140,7 +21089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx011110xx100xx0110110xxxxxxxxxx
                                                                      fcmeq.  */
                                                                      10987654321098765432109876543210
                                                                      xx011110xx100xx0110110xxxxxxxxxx
                                                                      fcmeq.  */
-                                                                  return 491;
+                                                                  return 497;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -17148,7 +21097,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx111110xx100xx0110110xxxxxxxxxx
                                                                      fcmle.  */
                                                                      10987654321098765432109876543210
                                                                      xx111110xx100xx0110110xxxxxxxxxx
                                                                      fcmle.  */
-                                                                  return 521;
+                                                                  return 527;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -17159,7 +21108,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx011110xx110xx0110110xxxxxxxxxx
                                                                      faddp.  */
                                                                      10987654321098765432109876543210
                                                                      xx011110xx110xx0110110xxxxxxxxxx
                                                                      faddp.  */
-                                                                  return 535;
+                                                                  return 541;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -17167,7 +21116,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx111110xx110xx0110110xxxxxxxxxx
                                                                      faddp.  */
                                                                      10987654321098765432109876543210
                                                                      xx111110xx110xx0110110xxxxxxxxxx
                                                                      faddp.  */
-                                                                  return 534;
+                                                                  return 540;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -17179,7 +21128,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011110xx1x1xx0110110xxxxxxxxxx
                                                                  fcmeq.  */
                                                                  10987654321098765432109876543210
                                                                  xx011110xx1x1xx0110110xxxxxxxxxx
                                                                  fcmeq.  */
-                                                              return 492;
+                                                              return 498;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -17187,7 +21136,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx111110xx1x1xx0110110xxxxxxxxxx
                                                                  fcmle.  */
                                                                  10987654321098765432109876543210
                                                                  xx111110xx1x1xx0110110xxxxxxxxxx
                                                                  fcmle.  */
-                                                              return 522;
+                                                              return 528;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -17203,7 +21152,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0111100x1x0xx1110110xxxxxxxxxx
                                                                      scvtf.  */
                                                                      10987654321098765432109876543210
                                                                      xx0111100x1x0xx1110110xxxxxxxxxx
                                                                      scvtf.  */
-                                                                  return 487;
+                                                                  return 493;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -17211,7 +21160,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1111100x1x0xx1110110xxxxxxxxxx
                                                                      ucvtf.  */
                                                                      10987654321098765432109876543210
                                                                      xx1111100x1x0xx1110110xxxxxxxxxx
                                                                      ucvtf.  */
-                                                                  return 517;
+                                                                  return 523;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -17222,7 +21171,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0111101x1x0xx1110110xxxxxxxxxx
                                                                      frecpe.  */
                                                                      10987654321098765432109876543210
                                                                      xx0111101x1x0xx1110110xxxxxxxxxx
                                                                      frecpe.  */
-                                                                  return 499;
+                                                                  return 505;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -17230,7 +21179,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1111101x1x0xx1110110xxxxxxxxxx
                                                                      frsqrte.  */
                                                                      10987654321098765432109876543210
                                                                      xx1111101x1x0xx1110110xxxxxxxxxx
                                                                      frsqrte.  */
-                                                                  return 527;
+                                                                  return 533;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -17244,7 +21193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0111100x1x1xx1110110xxxxxxxxxx
                                                                      scvtf.  */
                                                                      10987654321098765432109876543210
                                                                      xx0111100x1x1xx1110110xxxxxxxxxx
                                                                      scvtf.  */
-                                                                  return 488;
+                                                                  return 494;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -17252,7 +21201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1111100x1x1xx1110110xxxxxxxxxx
                                                                      ucvtf.  */
                                                                      10987654321098765432109876543210
                                                                      xx1111100x1x1xx1110110xxxxxxxxxx
                                                                      ucvtf.  */
-                                                                  return 518;
+                                                                  return 524;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -17263,7 +21212,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0111101x1x1xx1110110xxxxxxxxxx
                                                                      frecpe.  */
                                                                      10987654321098765432109876543210
                                                                      xx0111101x1x1xx1110110xxxxxxxxxx
                                                                      frecpe.  */
-                                                                  return 500;
+                                                                  return 506;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -17271,7 +21220,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1111101x1x1xx1110110xxxxxxxxxx
                                                                      frsqrte.  */
                                                                      10987654321098765432109876543210
                                                                      xx1111101x1x1xx1110110xxxxxxxxxx
                                                                      frsqrte.  */
-                                                                  return 528;
+                                                                  return 534;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -17293,7 +21242,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0011110xx1xxxxx001110xxxxxxxxxx
                                                              fsub.  */
                                                              10987654321098765432109876543210
                                                              x0011110xx1xxxxx001110xxxxxxxxxx
                                                              fsub.  */
-                                                          return 828;
+                                                          return 845;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -17301,7 +21250,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1011110xx1xxxxx001110xxxxxxxxxx
                                                              suqadd.  */
                                                              10987654321098765432109876543210
                                                              x1011110xx1xxxxx001110xxxxxxxxxx
                                                              suqadd.  */
-                                                          return 474;
+                                                          return 480;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -17310,7 +21259,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx001110xxxxxxxxxx
                                                          usqadd.  */
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx001110xxxxxxxxxx
                                                          usqadd.  */
-                                                      return 503;
+                                                      return 509;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -17323,7 +21272,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011110xx1xxxx0101110xxxxxxxxxx
                                                              abs.  */
                                                              10987654321098765432109876543210
                                                              xx011110xx1xxxx0101110xxxxxxxxxx
                                                              abs.  */
-                                                          return 479;
+                                                          return 485;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -17331,7 +21280,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx111110xx1xxxx0101110xxxxxxxxxx
                                                              neg.  */
                                                              10987654321098765432109876543210
                                                              xx111110xx1xxxx0101110xxxxxxxxxx
                                                              neg.  */
-                                                          return 507;
+                                                          return 513;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -17348,7 +21297,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx0111100x100xx1101110xxxxxxxxxx
                                                                          fcvtms.  */
                                                                          10987654321098765432109876543210
                                                                          xx0111100x100xx1101110xxxxxxxxxx
                                                                          fcvtms.  */
-                                                                      return 483;
+                                                                      return 489;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -17356,7 +21305,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx1111100x100xx1101110xxxxxxxxxx
                                                                          fcvtmu.  */
                                                                          10987654321098765432109876543210
                                                                          xx1111100x100xx1101110xxxxxxxxxx
                                                                          fcvtmu.  */
-                                                                      return 513;
+                                                                      return 519;
                                                                     }
                                                                 }
                                                               else
                                                                     }
                                                                 }
                                                               else
@@ -17367,7 +21316,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx0111101x100xx1101110xxxxxxxxxx
                                                                          fcvtzs.  */
                                                                          10987654321098765432109876543210
                                                                          xx0111101x100xx1101110xxxxxxxxxx
                                                                          fcvtzs.  */
-                                                                      return 497;
+                                                                      return 503;
                                                                     }
                                                                   else
                                                                     {
                                                                     }
                                                                   else
                                                                     {
@@ -17375,7 +21324,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xx1111101x100xx1101110xxxxxxxxxx
                                                                          fcvtzu.  */
                                                                          10987654321098765432109876543210
                                                                          xx1111101x100xx1101110xxxxxxxxxx
                                                                          fcvtzu.  */
-                                                                      return 525;
+                                                                      return 531;
                                                                     }
                                                                 }
                                                             }
                                                                     }
                                                                 }
                                                             }
@@ -17385,7 +21334,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx110xx1101110xxxxxxxxxx
                                                                  addp.  */
                                                                  10987654321098765432109876543210
                                                                  xxx11110xx110xx1101110xxxxxxxxxx
                                                                  addp.  */
-                                                              return 531;
+                                                              return 537;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -17398,7 +21347,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0111100x1x1xx1101110xxxxxxxxxx
                                                                      fcvtms.  */
                                                                      10987654321098765432109876543210
                                                                      xx0111100x1x1xx1101110xxxxxxxxxx
                                                                      fcvtms.  */
-                                                                  return 484;
+                                                                  return 490;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -17406,7 +21355,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1111100x1x1xx1101110xxxxxxxxxx
                                                                      fcvtmu.  */
                                                                      10987654321098765432109876543210
                                                                      xx1111100x1x1xx1101110xxxxxxxxxx
                                                                      fcvtmu.  */
-                                                                  return 514;
+                                                                  return 520;
                                                                 }
                                                             }
                                                           else
                                                                 }
                                                             }
                                                           else
@@ -17417,7 +21366,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0111101x1x1xx1101110xxxxxxxxxx
                                                                      fcvtzs.  */
                                                                      10987654321098765432109876543210
                                                                      xx0111101x1x1xx1101110xxxxxxxxxx
                                                                      fcvtzs.  */
-                                                                  return 498;
+                                                                  return 504;
                                                                 }
                                                               else
                                                                 {
                                                                 }
                                                               else
                                                                 {
@@ -17425,7 +21374,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx1111101x1x1xx1101110xxxxxxxxxx
                                                                      fcvtzu.  */
                                                                      10987654321098765432109876543210
                                                                      xx1111101x1x1xx1101110xxxxxxxxxx
                                                                      fcvtzu.  */
-                                                                  return 526;
+                                                                  return 532;
                                                                 }
                                                             }
                                                         }
                                                                 }
                                                             }
                                                         }
@@ -17444,7 +21393,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0011110xx1xxxxx011110xxxxxxxxxx
                                                              fminnm.  */
                                                              10987654321098765432109876543210
                                                              x0011110xx1xxxxx011110xxxxxxxxxx
                                                              fminnm.  */
-                                                          return 836;
+                                                          return 853;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -17452,7 +21401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1011110xx1xxxxx011110xxxxxxxxxx
                                                              sqabs.  */
                                                              10987654321098765432109876543210
                                                              x1011110xx1xxxxx011110xxxxxxxxxx
                                                              sqabs.  */
-                                                          return 475;
+                                                          return 481;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -17461,7 +21410,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx011110xxxxxxxxxx
                                                          sqneg.  */
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx011110xxxxxxxxxx
                                                          sqneg.  */
-                                                      return 504;
+                                                      return 510;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -17476,7 +21425,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx0111100x1xxxx0111110xxxxxxxxxx
                                                                  fmaxp.  */
                                                                  10987654321098765432109876543210
                                                                  xx0111100x1xxxx0111110xxxxxxxxxx
                                                                  fmaxp.  */
-                                                              return 537;
+                                                              return 543;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -17484,7 +21433,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx1111100x1xxxx0111110xxxxxxxxxx
                                                                  fmaxp.  */
                                                                  10987654321098765432109876543210
                                                                  xx1111100x1xxxx0111110xxxxxxxxxx
                                                                  fmaxp.  */
-                                                              return 536;
+                                                              return 542;
                                                             }
                                                         }
                                                       else
                                                             }
                                                         }
                                                       else
@@ -17495,7 +21444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx0111101x1xxxx0111110xxxxxxxxxx
                                                                  fminp.  */
                                                                  10987654321098765432109876543210
                                                                  xx0111101x1xxxx0111110xxxxxxxxxx
                                                                  fminp.  */
-                                                              return 541;
+                                                              return 547;
                                                             }
                                                           else
                                                             {
                                                             }
                                                           else
                                                             {
@@ -17503,7 +21452,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx1111101x1xxxx0111110xxxxxxxxxx
                                                                  fminp.  */
                                                                  10987654321098765432109876543210
                                                                  xx1111101x1xxxx0111110xxxxxxxxxx
                                                                  fminp.  */
-                                                              return 540;
+                                                              return 546;
                                                             }
                                                         }
                                                     }
                                                             }
                                                         }
                                                     }
@@ -17515,7 +21464,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx11110xx1x0xx1111110xxxxxxxxxx
                                                              frecpx.  */
                                                              10987654321098765432109876543210
                                                              xxx11110xx1x0xx1111110xxxxxxxxxx
                                                              frecpx.  */
-                                                          return 501;
+                                                          return 507;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -17523,7 +21472,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx11110xx1x1xx1111110xxxxxxxxxx
                                                              frecpx.  */
                                                              10987654321098765432109876543210
                                                              xxx11110xx1x1xx1111110xxxxxxxxxx
                                                              frecpx.  */
-                                                          return 502;
+                                                          return 508;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -17546,7 +21495,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x0011110xx1xxxxxxxxx01xxxxx0xxxx
                                                  fccmp.  */
                                                  10987654321098765432109876543210
                                                  x0011110xx1xxxxxxxxx01xxxxx0xxxx
                                                  fccmp.  */
-                                              return 787;
+                                              return 798;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -17554,7 +21503,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x0011110xx1xxxxxxxxx01xxxxx1xxxx
                                                  fccmpe.  */
                                                  10987654321098765432109876543210
                                                  x0011110xx1xxxxxxxxx01xxxxx1xxxx
                                                  fccmpe.  */
-                                              return 789;
+                                              return 800;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -17569,7 +21518,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1011110xx1xxxxxx00001xxxxxxxxxx
                                                          add.  */
                                                          10987654321098765432109876543210
                                                          x1011110xx1xxxxxx00001xxxxxxxxxx
                                                          add.  */
-                                                      return 559;
+                                                      return 565;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -17577,7 +21526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1011110xx1xxxxxx10001xxxxxxxxxx
                                                          sshl.  */
                                                          10987654321098765432109876543210
                                                          x1011110xx1xxxxxx10001xxxxxxxxxx
                                                          sshl.  */
-                                                      return 557;
+                                                      return 563;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -17586,7 +21535,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011110xx1xxxxxxx1001xxxxxxxxxx
                                                      fcmeq.  */
                                                      10987654321098765432109876543210
                                                      x1011110xx1xxxxxxx1001xxxxxxxxxx
                                                      fcmeq.  */
-                                                  return 549;
+                                                  return 555;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -17597,7 +21546,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011110xx1xxxxxxx0101xxxxxxxxxx
                                                      srshl.  */
                                                      10987654321098765432109876543210
                                                      x1011110xx1xxxxxxx0101xxxxxxxxxx
                                                      srshl.  */
-                                                  return 558;
+                                                  return 564;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -17607,7 +21556,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1011110xx1xxxxx0x1101xxxxxxxxxx
                                                          cmgt.  */
                                                          10987654321098765432109876543210
                                                          x1011110xx1xxxxx0x1101xxxxxxxxxx
                                                          cmgt.  */
-                                                      return 555;
+                                                      return 561;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -17615,7 +21564,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1011110xx1xxxxx1x1101xxxxxxxxxx
                                                          sqdmulh.  */
                                                          10987654321098765432109876543210
                                                          x1011110xx1xxxxx1x1101xxxxxxxxxx
                                                          sqdmulh.  */
-                                                      return 546;
+                                                      return 552;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -17633,7 +21582,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx111110xx1xxxxxx00001xxxxxxxxxx
                                                      sub.  */
                                                      10987654321098765432109876543210
                                                      xx111110xx1xxxxxx00001xxxxxxxxxx
                                                      sub.  */
-                                                  return 580;
+                                                  return 586;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -17641,7 +21590,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx111110xx1xxxxxx10001xxxxxxxxxx
                                                      ushl.  */
                                                      10987654321098765432109876543210
                                                      xx111110xx1xxxxxx10001xxxxxxxxxx
                                                      ushl.  */
-                                                  return 578;
+                                                  return 584;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -17652,7 +21601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx1111100x1xxxxxxx1001xxxxxxxxxx
                                                      fcmge.  */
                                                      10987654321098765432109876543210
                                                      xx1111100x1xxxxxxx1001xxxxxxxxxx
                                                      fcmge.  */
-                                                  return 566;
+                                                  return 572;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -17660,7 +21609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx1111101x1xxxxxxx1001xxxxxxxxxx
                                                      fcmgt.  */
                                                      10987654321098765432109876543210
                                                      xx1111101x1xxxxxxx1001xxxxxxxxxx
                                                      fcmgt.  */
-                                                  return 572;
+                                                  return 578;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -17674,7 +21623,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx111110xx1xxxxx0x0101xxxxxxxxxx
                                                      urshl.  */
                                                      10987654321098765432109876543210
                                                      xx111110xx1xxxxx0x0101xxxxxxxxxx
                                                      urshl.  */
-                                                  return 579;
+                                                  return 585;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -17682,7 +21631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx111110xx1xxxxx1x0101xxxxxxxxxx
                                                      fabd.  */
                                                      10987654321098765432109876543210
                                                      xx111110xx1xxxxx1x0101xxxxxxxxxx
                                                      fabd.  */
-                                                  return 570;
+                                                  return 576;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -17693,7 +21642,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx111110xx1xxxxx0x1101xxxxxxxxxx
                                                      cmhi.  */
                                                      10987654321098765432109876543210
                                                      xx111110xx1xxxxx0x1101xxxxxxxxxx
                                                      cmhi.  */
-                                                  return 576;
+                                                  return 582;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -17701,7 +21650,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx111110xx1xxxxx1x1101xxxxxxxxxx
                                                      sqrdmulh.  */
                                                      10987654321098765432109876543210
                                                      xx111110xx1xxxxx1x1101xxxxxxxxxx
                                                      sqrdmulh.  */
-                                                  return 565;
+                                                  return 571;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -17717,7 +21666,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x0011110xx1xxxxxxxxx11xxxxxxxxxx
                                              fcsel.  */
                                              10987654321098765432109876543210
                                              x0011110xx1xxxxxxxxx11xxxxxxxxxx
                                              fcsel.  */
-                                          return 850;
+                                          return 867;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -17733,7 +21682,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1011110xx1xxxxx000011xxxxxxxxxx
                                                              sqadd.  */
                                                              10987654321098765432109876543210
                                                              x1011110xx1xxxxx000011xxxxxxxxxx
                                                              sqadd.  */
-                                                          return 542;
+                                                          return 548;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -17741,7 +21690,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1011110xx1xxxxx100011xxxxxxxxxx
                                                              cmtst.  */
                                                              10987654321098765432109876543210
                                                              x1011110xx1xxxxx100011xxxxxxxxxx
                                                              cmtst.  */
-                                                          return 560;
+                                                          return 566;
                                                         }
                                                     }
                                                   else
                                                         }
                                                     }
                                                   else
@@ -17750,7 +21699,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1011110xx1xxxxxx10011xxxxxxxxxx
                                                          sqshl.  */
                                                          10987654321098765432109876543210
                                                          x1011110xx1xxxxxx10011xxxxxxxxxx
                                                          sqshl.  */
-                                                      return 544;
+                                                      return 550;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -17759,7 +21708,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011110xx1xxxxxxx1011xxxxxxxxxx
                                                      sqsub.  */
                                                      10987654321098765432109876543210
                                                      x1011110xx1xxxxxxx1011xxxxxxxxxx
                                                      sqsub.  */
-                                                  return 543;
+                                                  return 549;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -17772,7 +21721,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1011110xx1xxxxx0x0111xxxxxxxxxx
                                                          sqrshl.  */
                                                          10987654321098765432109876543210
                                                          x1011110xx1xxxxx0x0111xxxxxxxxxx
                                                          sqrshl.  */
-                                                      return 545;
+                                                      return 551;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -17780,7 +21729,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1011110xx1xxxxx1x0111xxxxxxxxxx
                                                          fmulx.  */
                                                          10987654321098765432109876543210
                                                          x1011110xx1xxxxx1x0111xxxxxxxxxx
                                                          fmulx.  */
-                                                      return 547;
+                                                      return 553;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -17791,7 +21740,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1011110xx1xxxxxx01111xxxxxxxxxx
                                                          cmge.  */
                                                          10987654321098765432109876543210
                                                          x1011110xx1xxxxxx01111xxxxxxxxxx
                                                          cmge.  */
-                                                      return 556;
+                                                      return 562;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -17801,7 +21750,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x10111100x1xxxxxx11111xxxxxxxxxx
                                                              frecps.  */
                                                              10987654321098765432109876543210
                                                              x10111100x1xxxxxx11111xxxxxxxxxx
                                                              frecps.  */
-                                                          return 551;
+                                                          return 557;
                                                         }
                                                       else
                                                         {
                                                         }
                                                       else
                                                         {
@@ -17809,7 +21758,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x10111101x1xxxxxx11111xxxxxxxxxx
                                                              frsqrts.  */
                                                              10987654321098765432109876543210
                                                              x10111101x1xxxxxx11111xxxxxxxxxx
                                                              frsqrts.  */
-                                                          return 553;
+                                                          return 559;
                                                         }
                                                     }
                                                 }
                                                         }
                                                     }
                                                 }
@@ -17830,7 +21779,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx000011xxxxxxxxxx
                                                          uqadd.  */
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx000011xxxxxxxxxx
                                                          uqadd.  */
-                                                      return 561;
+                                                      return 567;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -17838,7 +21787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx100011xxxxxxxxxx
                                                          cmeq.  */
                                                          10987654321098765432109876543210
                                                          xx111110xx1xxxxx100011xxxxxxxxxx
                                                          cmeq.  */
-                                                      return 581;
+                                                      return 587;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -17847,7 +21796,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx111110xx1xxxxxx10011xxxxxxxxxx
                                                      uqshl.  */
                                                      10987654321098765432109876543210
                                                      xx111110xx1xxxxxx10011xxxxxxxxxx
                                                      uqshl.  */
-                                                  return 563;
+                                                  return 569;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -17858,7 +21807,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx111110xx1xxxxxx01011xxxxxxxxxx
                                                      uqsub.  */
                                                      10987654321098765432109876543210
                                                      xx111110xx1xxxxxx01011xxxxxxxxxx
                                                      uqsub.  */
-                                                  return 562;
+                                                  return 568;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -17868,7 +21817,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx1111100x1xxxxxx11011xxxxxxxxxx
                                                          facge.  */
                                                          10987654321098765432109876543210
                                                          xx1111100x1xxxxxx11011xxxxxxxxxx
                                                          facge.  */
-                                                      return 568;
+                                                      return 574;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -17876,7 +21825,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx1111101x1xxxxxx11011xxxxxxxxxx
                                                          facgt.  */
                                                          10987654321098765432109876543210
                                                          xx1111101x1xxxxxx11011xxxxxxxxxx
                                                          facgt.  */
-                                                      return 574;
+                                                      return 580;
                                                     }
                                                 }
                                             }
                                                     }
                                                 }
                                             }
@@ -17889,7 +21838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx111110xx1xxxxxxx0111xxxxxxxxxx
                                                  uqrshl.  */
                                                  10987654321098765432109876543210
                                                  xx111110xx1xxxxxxx0111xxxxxxxxxx
                                                  uqrshl.  */
-                                              return 564;
+                                              return 570;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -17897,7 +21846,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx111110xx1xxxxxxx1111xxxxxxxxxx
                                                  cmhs.  */
                                                  10987654321098765432109876543210
                                                  xx111110xx1xxxxxxx1111xxxxxxxxxx
                                                  cmhs.  */
-                                              return 577;
+                                              return 583;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -17928,7 +21877,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0000x0xxxxxxxxxx
                                                      fmlal.  */
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0000x0xxxxxxxxxx
                                                      fmlal.  */
-                                                  return 2034;
+                                                  return 2365;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -17936,7 +21885,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0000x0xxxxxxxxxx
                                                      fmlal.  */
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0000x0xxxxxxxxxx
                                                      fmlal.  */
-                                                  return 2038;
+                                                  return 2369;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -17945,7 +21894,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx0000x0xxxxxxxxxx
                                                  mla.  */
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx0000x0xxxxxxxxxx
                                                  mla.  */
-                                              return 117;
+                                              return 119;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -17958,7 +21907,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0100x0xxxxxxxxxx
                                                      fmlsl.  */
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0100x0xxxxxxxxxx
                                                      fmlsl.  */
-                                                  return 2035;
+                                                  return 2366;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -17966,7 +21915,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0100x0xxxxxxxxxx
                                                      fmlsl.  */
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0100x0xxxxxxxxxx
                                                      fmlsl.  */
-                                                  return 2039;
+                                                  return 2370;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -17975,7 +21924,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx0100x0xxxxxxxxxx
                                                  mls.  */
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx0100x0xxxxxxxxxx
                                                  mls.  */
-                                              return 120;
+                                              return 122;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -17991,7 +21940,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0010x0xxxxxxxxxx
                                                      smlal.  */
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0010x0xxxxxxxxxx
                                                      smlal.  */
-                                                  return 96;
+                                                  return 98;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -17999,7 +21948,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0010x0xxxxxxxxxx
                                                      smlal2.  */
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0010x0xxxxxxxxxx
                                                      smlal2.  */
-                                                  return 97;
+                                                  return 99;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -18010,7 +21959,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0101111xxxxxxxx0010x0xxxxxxxxxx
                                                      umlal.  */
                                                      10987654321098765432109876543210
                                                      x0101111xxxxxxxx0010x0xxxxxxxxxx
                                                      umlal.  */
-                                                  return 118;
+                                                  return 120;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18018,7 +21967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1101111xxxxxxxx0010x0xxxxxxxxxx
                                                      umlal2.  */
                                                      10987654321098765432109876543210
                                                      x1101111xxxxxxxx0010x0xxxxxxxxxx
                                                      umlal2.  */
-                                                  return 119;
+                                                  return 121;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -18032,7 +21981,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0110x0xxxxxxxxxx
                                                      smlsl.  */
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0110x0xxxxxxxxxx
                                                      smlsl.  */
-                                                  return 100;
+                                                  return 102;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18040,7 +21989,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0110x0xxxxxxxxxx
                                                      smlsl2.  */
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0110x0xxxxxxxxxx
                                                      smlsl2.  */
-                                                  return 101;
+                                                  return 103;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -18051,7 +22000,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0101111xxxxxxxx0110x0xxxxxxxxxx
                                                      umlsl.  */
                                                      10987654321098765432109876543210
                                                      x0101111xxxxxxxx0110x0xxxxxxxxxx
                                                      umlsl.  */
-                                                  return 121;
+                                                  return 123;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18059,7 +22008,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1101111xxxxxxxx0110x0xxxxxxxxxx
                                                      umlsl2.  */
                                                      10987654321098765432109876543210
                                                      x1101111xxxxxxxx0110x0xxxxxxxxxx
                                                      umlsl2.  */
-                                                  return 122;
+                                                  return 124;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -18079,7 +22028,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx0011110xxxxxxx0001x0xxxxxxxxxx
                                                      fmla.  */
                                                      10987654321098765432109876543210
                                                      xx0011110xxxxxxx0001x0xxxxxxxxxx
                                                      fmla.  */
-                                                  return 112;
+                                                  return 114;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18087,7 +22036,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx0011111xxxxxxx0001x0xxxxxxxxxx
                                                      fmla.  */
                                                      10987654321098765432109876543210
                                                      xx0011111xxxxxxx0001x0xxxxxxxxxx
                                                      fmla.  */
-                                                  return 111;
+                                                  return 113;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -18098,7 +22047,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx0011110xxxxxxx0101x0xxxxxxxxxx
                                                      fmls.  */
                                                      10987654321098765432109876543210
                                                      xx0011110xxxxxxx0101x0xxxxxxxxxx
                                                      fmls.  */
-                                                  return 114;
+                                                  return 116;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18106,7 +22055,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx0011111xxxxxxx0101x0xxxxxxxxxx
                                                      fmls.  */
                                                      10987654321098765432109876543210
                                                      xx0011111xxxxxxx0101x0xxxxxxxxxx
                                                      fmls.  */
-                                                  return 113;
+                                                  return 115;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -18120,7 +22069,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0011x0xxxxxxxxxx
                                                      sqdmlal.  */
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0011x0xxxxxxxxxx
                                                      sqdmlal.  */
-                                                  return 98;
+                                                  return 100;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18128,7 +22077,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0011x0xxxxxxxxxx
                                                      sqdmlal2.  */
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0011x0xxxxxxxxxx
                                                      sqdmlal2.  */
-                                                  return 99;
+                                                  return 101;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -18139,7 +22088,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0111x0xxxxxxxxxx
                                                      sqdmlsl.  */
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0111x0xxxxxxxxxx
                                                      sqdmlsl.  */
-                                                  return 102;
+                                                  return 104;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18147,7 +22096,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0111x0xxxxxxxxxx
                                                      sqdmlsl2.  */
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0111x0xxxxxxxxxx
                                                      sqdmlsl2.  */
-                                                  return 103;
+                                                  return 105;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -18158,7 +22107,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx101111xxxxxxxx0xx1x0xxxxxxxxxx
                                          fcmla.  */
                                          10987654321098765432109876543210
                                          xx101111xxxxxxxx0xx1x0xxxxxxxxxx
                                          fcmla.  */
-                                      return 129;
+                                      return 131;
                                     }
                                 }
                             }
                                     }
                                 }
                             }
@@ -18172,7 +22121,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx001111xxxxxxxx0xx0x1xxxxxxxxxx
                                          movi.  */
                                          10987654321098765432109876543210
                                          xx001111xxxxxxxx0xx0x1xxxxxxxxxx
                                          movi.  */
-                                      return 131;
+                                      return 133;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -18180,7 +22129,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx101111xxxxxxxx0xx0x1xxxxxxxxxx
                                          mvni.  */
                                          10987654321098765432109876543210
                                          xx101111xxxxxxxx0xx0x1xxxxxxxxxx
                                          mvni.  */
-                                      return 139;
+                                      return 141;
                                     }
                                 }
                               else
                                     }
                                 }
                               else
@@ -18191,7 +22140,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx001111xxxxxxxx0xx1x1xxxxxxxxxx
                                          orr.  */
                                          10987654321098765432109876543210
                                          xx001111xxxxxxxx0xx1x1xxxxxxxxxx
                                          orr.  */
-                                      return 132;
+                                      return 134;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -18199,7 +22148,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx101111xxxxxxxx0xx1x1xxxxxxxxxx
                                          bic.  */
                                          10987654321098765432109876543210
                                          xx101111xxxxxxxx0xx1x1xxxxxxxxxx
                                          bic.  */
-                                      return 140;
+                                      return 142;
                                     }
                                 }
                             }
                                     }
                                 }
                             }
@@ -18216,7 +22165,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          x0011111xx0xxxxx0xxxxxxxxxxxxxxx
                                          fmadd.  */
                                          10987654321098765432109876543210
                                          x0011111xx0xxxxx0xxxxxxxxxxxxxxx
                                          fmadd.  */
-                                      return 840;
+                                      return 857;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -18224,7 +22173,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          x0011111xx1xxxxx0xxxxxxxxxxxxxxx
                                          fnmadd.  */
                                          10987654321098765432109876543210
                                          x0011111xx1xxxxx0xxxxxxxxxxxxxxx
                                          fnmadd.  */
-                                      return 844;
+                                      return 861;
                                     }
                                 }
                               else
                                     }
                                 }
                               else
@@ -18241,7 +22190,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10111110xxxxxxx000xx0xxxxxxxxxx
                                                      fmla.  */
                                                      10987654321098765432109876543210
                                                      x10111110xxxxxxx000xx0xxxxxxxxxx
                                                      fmla.  */
-                                                  return 425;
+                                                  return 431;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18249,7 +22198,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10111111xxxxxxx000xx0xxxxxxxxxx
                                                      fmla.  */
                                                      10987654321098765432109876543210
                                                      x10111111xxxxxxx000xx0xxxxxxxxxx
                                                      fmla.  */
-                                                  return 424;
+                                                  return 430;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -18260,7 +22209,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10111110xxxxxxx010xx0xxxxxxxxxx
                                                      fmls.  */
                                                      10987654321098765432109876543210
                                                      x10111110xxxxxxx010xx0xxxxxxxxxx
                                                      fmls.  */
-                                                  return 427;
+                                                  return 433;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18268,7 +22217,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x10111111xxxxxxx010xx0xxxxxxxxxx
                                                      fmls.  */
                                                      10987654321098765432109876543210
                                                      x10111111xxxxxxx010xx0xxxxxxxxxx
                                                      fmls.  */
-                                                  return 426;
+                                                  return 432;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -18280,7 +22229,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx001xx0xxxxxxxxxx
                                                  sqdmlal.  */
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx001xx0xxxxxxxxxx
                                                  sqdmlal.  */
-                                              return 419;
+                                              return 425;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -18288,7 +22237,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx011xx0xxxxxxxxxx
                                                  sqdmlsl.  */
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx011xx0xxxxxxxxxx
                                                  sqdmlsl.  */
-                                              return 420;
+                                              return 426;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -18302,7 +22251,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx0x00x1xxxxxxxxxx
                                                  sshr.  */
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx0x00x1xxxxxxxxxx
                                                  sshr.  */
-                                              return 584;
+                                              return 590;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -18310,7 +22259,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx0x10x1xxxxxxxxxx
                                                  srshr.  */
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx0x10x1xxxxxxxxxx
                                                  srshr.  */
-                                              return 586;
+                                              return 592;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -18323,7 +22272,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011111xxxxxxxx0001x1xxxxxxxxxx
                                                      ssra.  */
                                                      10987654321098765432109876543210
                                                      x1011111xxxxxxxx0001x1xxxxxxxxxx
                                                      ssra.  */
-                                                  return 585;
+                                                  return 591;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18331,7 +22280,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011111xxxxxxxx0101x1xxxxxxxxxx
                                                      shl.  */
                                                      10987654321098765432109876543210
                                                      x1011111xxxxxxxx0101x1xxxxxxxxxx
                                                      shl.  */
-                                                  return 588;
+                                                  return 594;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -18342,7 +22291,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011111xxxxxxxx0011x1xxxxxxxxxx
                                                      srsra.  */
                                                      10987654321098765432109876543210
                                                      x1011111xxxxxxxx0011x1xxxxxxxxxx
                                                      srsra.  */
-                                                  return 587;
+                                                  return 593;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18350,7 +22299,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011111xxxxxxxx0111x1xxxxxxxxxx
                                                      sqshl.  */
                                                      10987654321098765432109876543210
                                                      x1011111xxxxxxxx0111x1xxxxxxxxxx
                                                      sqshl.  */
-                                                  return 589;
+                                                  return 595;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -18369,7 +22318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx0000xxxxxxxxxxxx
                                              ushr.  */
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx0000xxxxxxxxxxxx
                                              ushr.  */
-                                          return 596;
+                                          return 602;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -18377,7 +22326,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx0100xxxxxxxxxxxx
                                              sri.  */
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx0100xxxxxxxxxxxx
                                              sri.  */
-                                          return 600;
+                                          return 606;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -18388,7 +22337,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx0010xxxxxxxxxxxx
                                              urshr.  */
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx0010xxxxxxxxxxxx
                                              urshr.  */
-                                          return 598;
+                                          return 604;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -18396,7 +22345,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx0110xxxxxxxxxxxx
                                              sqshlu.  */
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx0110xxxxxxxxxxxx
                                              sqshlu.  */
-                                          return 602;
+                                          return 608;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -18410,7 +22359,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx0001xxxxxxxxxxxx
                                              usra.  */
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx0001xxxxxxxxxxxx
                                              usra.  */
-                                          return 597;
+                                          return 603;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -18418,7 +22367,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx0101xxxxxxxxxxxx
                                              sli.  */
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx0101xxxxxxxxxxxx
                                              sli.  */
-                                          return 601;
+                                          return 607;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -18429,7 +22378,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx0011xxxxxxxxxxxx
                                              ursra.  */
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx0011xxxxxxxxxxxx
                                              ursra.  */
-                                          return 599;
+                                          return 605;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -18437,7 +22386,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx0111xxxxxxxxxxxx
                                              uqshl.  */
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx0111xxxxxxxxxxxx
                                              uqshl.  */
-                                          return 603;
+                                          return 609;
                                         }
                                     }
                                 }
                                         }
                                     }
                                 }
@@ -18462,7 +22411,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx1000x0xxxxxxxxxx
                                                  mul.  */
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx1000x0xxxxxxxxxx
                                                  mul.  */
-                                              return 104;
+                                              return 106;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -18472,7 +22421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0101111xxxxxxxx1000x0xxxxxxxxxx
                                                      fmlal2.  */
                                                      10987654321098765432109876543210
                                                      x0101111xxxxxxxx1000x0xxxxxxxxxx
                                                      fmlal2.  */
-                                                  return 2036;
+                                                  return 2367;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18480,7 +22429,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1101111xxxxxxxx1000x0xxxxxxxxxx
                                                      fmlal2.  */
                                                      10987654321098765432109876543210
                                                      x1101111xxxxxxxx1000x0xxxxxxxxxx
                                                      fmlal2.  */
-                                                  return 2040;
+                                                  return 2371;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -18492,7 +22441,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx1100x0xxxxxxxxxx
                                                  sqdmulh.  */
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx1100x0xxxxxxxxxx
                                                  sqdmulh.  */
-                                              return 109;
+                                              return 111;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -18502,7 +22451,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0101111xxxxxxxx1100x0xxxxxxxxxx
                                                      fmlsl2.  */
                                                      10987654321098765432109876543210
                                                      x0101111xxxxxxxx1100x0xxxxxxxxxx
                                                      fmlsl2.  */
-                                                  return 2037;
+                                                  return 2368;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18510,7 +22459,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1101111xxxxxxxx1100x0xxxxxxxxxx
                                                      fmlsl2.  */
                                                      10987654321098765432109876543210
                                                      x1101111xxxxxxxx1100x0xxxxxxxxxx
                                                      fmlsl2.  */
-                                                  return 2041;
+                                                  return 2372;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -18527,7 +22476,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx1010x0xxxxxxxxxx
                                                      smull.  */
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx1010x0xxxxxxxxxx
                                                      smull.  */
-                                                  return 105;
+                                                  return 107;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18535,7 +22484,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx1010x0xxxxxxxxxx
                                                      smull2.  */
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx1010x0xxxxxxxxxx
                                                      smull2.  */
-                                                  return 106;
+                                                  return 108;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -18546,7 +22495,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0101111xxxxxxxx1010x0xxxxxxxxxx
                                                      umull.  */
                                                      10987654321098765432109876543210
                                                      x0101111xxxxxxxx1010x0xxxxxxxxxx
                                                      umull.  */
-                                                  return 123;
+                                                  return 125;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18554,7 +22503,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1101111xxxxxxxx1010x0xxxxxxxxxx
                                                      umull2.  */
                                                      10987654321098765432109876543210
                                                      x1101111xxxxxxxx1010x0xxxxxxxxxx
                                                      umull2.  */
-                                                  return 124;
+                                                  return 126;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -18566,7 +22515,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx1110x0xxxxxxxxxx
                                                  sdot.  */
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx1110x0xxxxxxxxxx
                                                  sdot.  */
-                                              return 2008;
+                                              return 2339;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -18574,7 +22523,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx1110x0xxxxxxxxxx
                                                  udot.  */
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx1110x0xxxxxxxxxx
                                                  udot.  */
-                                              return 2007;
+                                              return 2338;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -18593,7 +22542,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx0011110xxxxxxx1001x0xxxxxxxxxx
                                                      fmul.  */
                                                      10987654321098765432109876543210
                                                      xx0011110xxxxxxx1001x0xxxxxxxxxx
                                                      fmul.  */
-                                                  return 116;
+                                                  return 118;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18601,7 +22550,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx1011110xxxxxxx1001x0xxxxxxxxxx
                                                      fmulx.  */
                                                      10987654321098765432109876543210
                                                      xx1011110xxxxxxx1001x0xxxxxxxxxx
                                                      fmulx.  */
-                                                  return 126;
+                                                  return 128;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -18612,7 +22561,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx0011111xxxxxxx1001x0xxxxxxxxxx
                                                      fmul.  */
                                                      10987654321098765432109876543210
                                                      xx0011111xxxxxxx1001x0xxxxxxxxxx
                                                      fmul.  */
-                                                  return 115;
+                                                  return 117;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18620,7 +22569,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx1011111xxxxxxx1001x0xxxxxxxxxx
                                                      fmulx.  */
                                                      10987654321098765432109876543210
                                                      xx1011111xxxxxxx1001x0xxxxxxxxxx
                                                      fmulx.  */
-                                                  return 125;
+                                                  return 127;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -18632,7 +22581,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx1101x0xxxxxxxxxx
                                                  sqrdmulh.  */
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx1101x0xxxxxxxxxx
                                                  sqrdmulh.  */
-                                              return 110;
+                                              return 112;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -18640,7 +22589,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx1101x0xxxxxxxxxx
                                                  sqrdmlah.  */
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx1101x0xxxxxxxxxx
                                                  sqrdmlah.  */
-                                              return 127;
+                                              return 129;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -18654,25 +22603,80 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x0x01111xxxxxxxx1011x0xxxxxxxxxx
                                                  sqdmull.  */
                                                  10987654321098765432109876543210
                                                  x0x01111xxxxxxxx1011x0xxxxxxxxxx
                                                  sqdmull.  */
-                                              return 107;
+                                              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 2418;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xx00111110xxxxxx1111x0xxxxxxxxxx
+                                                         usdot.  */
+                                                      return 2417;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xx00111101xxxxxx1111x0xxxxxxxxxx
+                                                         bfdot.  */
+                                                      return 2429;
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 30) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             x000111111xxxxxx1111x0xxxxxxxxxx
+                                                             bfmlalb.  */
+                                                          return 2437;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             x100111111xxxxxx1111x0xxxxxxxxxx
+                                                             bfmlalt.  */
+                                                          return 2436;
+                                                        }
+                                                    }
+                                                }
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 x1x01111xxxxxxxx1011x0xxxxxxxxxx
-                                                 sqdmull2.  */
-                                              return 108;
+                                                 xx101111xxxxxxxx1111x0xxxxxxxxxx
+                                                 sqrdmlsh.  */
+                                              return 130;
                                             }
                                         }
                                             }
                                         }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxx01111xxxxxxxx1111x0xxxxxxxxxx
-                                             sqrdmlsh.  */
-                                          return 128;
-                                        }
                                     }
                                 }
                             }
                                     }
                                 }
                             }
@@ -18690,7 +22694,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx10x001xxxxxxxxxx
                                                  movi.  */
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx10x001xxxxxxxxxx
                                                  movi.  */
-                                              return 133;
+                                              return 135;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -18698,7 +22702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx10x001xxxxxxxxxx
                                                  mvni.  */
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx10x001xxxxxxxxxx
                                                  mvni.  */
-                                              return 141;
+                                              return 143;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -18709,7 +22713,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx10x101xxxxxxxxxx
                                                  orr.  */
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx10x101xxxxxxxxxx
                                                  orr.  */
-                                              return 134;
+                                              return 136;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -18717,7 +22721,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx10x101xxxxxxxxxx
                                                  bic.  */
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx10x101xxxxxxxxxx
                                                  bic.  */
-                                              return 142;
+                                              return 144;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -18731,7 +22735,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx110x01xxxxxxxxxx
                                                  movi.  */
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx110x01xxxxxxxxxx
                                                  movi.  */
-                                              return 135;
+                                              return 137;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -18739,7 +22743,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx110x01xxxxxxxxxx
                                                  mvni.  */
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx110x01xxxxxxxxxx
                                                  mvni.  */
-                                              return 143;
+                                              return 145;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -18752,7 +22756,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx001111xxxxxxxx111001xxxxxxxxxx
                                                      movi.  */
                                                      10987654321098765432109876543210
                                                      xx001111xxxxxxxx111001xxxxxxxxxx
                                                      movi.  */
-                                                  return 136;
+                                                  return 138;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18760,7 +22764,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx101111xxxxxxxx111001xxxxxxxxxx
                                                      movi.  */
                                                      10987654321098765432109876543210
                                                      xx101111xxxxxxxx111001xxxxxxxxxx
                                                      movi.  */
-                                                  return 144;
+                                                  return 146;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -18771,7 +22775,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx001111xxxxxxxx111101xxxxxxxxxx
                                                      fmov.  */
                                                      10987654321098765432109876543210
                                                      xx001111xxxxxxxx111101xxxxxxxxxx
                                                      fmov.  */
-                                                  return 137;
+                                                  return 139;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18779,7 +22783,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx101111xxxxxxxx111101xxxxxxxxxx
                                                      fmov.  */
                                                      10987654321098765432109876543210
                                                      xx101111xxxxxxxx111101xxxxxxxxxx
                                                      fmov.  */
-                                                  return 146;
+                                                  return 148;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -18797,7 +22801,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x0001111xxxxxxxx1xx011xxxxxxxxxx
                                                  rshrn.  */
                                                  10987654321098765432109876543210
                                                  x0001111xxxxxxxx1xx011xxxxxxxxxx
                                                  rshrn.  */
-                                              return 376;
+                                              return 382;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -18805,7 +22809,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1001111xxxxxxxx1xx011xxxxxxxxxx
                                                  rshrn2.  */
                                                  10987654321098765432109876543210
                                                  x1001111xxxxxxxx1xx011xxxxxxxxxx
                                                  rshrn2.  */
-                                              return 377;
+                                              return 383;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -18816,7 +22820,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x0101111xxxxxxxx1xx011xxxxxxxxxx
                                                  sqrshrun.  */
                                                  10987654321098765432109876543210
                                                  x0101111xxxxxxxx1xx011xxxxxxxxxx
                                                  sqrshrun.  */
-                                              return 400;
+                                              return 406;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -18824,7 +22828,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1101111xxxxxxxx1xx011xxxxxxxxxx
                                                  sqrshrun2.  */
                                                  10987654321098765432109876543210
                                                  x1101111xxxxxxxx1xx011xxxxxxxxxx
                                                  sqrshrun2.  */
-                                              return 401;
+                                              return 407;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -18840,7 +22844,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx1x0111xxxxxxxxxx
                                                      sqrshrn.  */
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx1x0111xxxxxxxxxx
                                                      sqrshrn.  */
-                                                  return 380;
+                                                  return 386;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18848,7 +22852,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx1x0111xxxxxxxxxx
                                                      sqrshrn2.  */
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx1x0111xxxxxxxxxx
                                                      sqrshrn2.  */
-                                                  return 381;
+                                                  return 387;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -18859,7 +22863,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0101111xxxxxxxx1x0111xxxxxxxxxx
                                                      uqrshrn.  */
                                                      10987654321098765432109876543210
                                                      x0101111xxxxxxxx1x0111xxxxxxxxxx
                                                      uqrshrn.  */
-                                                  return 404;
+                                                  return 410;
                                                 }
                                               else
                                                 {
                                                 }
                                               else
                                                 {
@@ -18867,7 +22871,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1101111xxxxxxxx1x0111xxxxxxxxxx
                                                      uqrshrn2.  */
                                                      10987654321098765432109876543210
                                                      x1101111xxxxxxxx1x0111xxxxxxxxxx
                                                      uqrshrn2.  */
-                                                  return 405;
+                                                  return 411;
                                                 }
                                             }
                                         }
                                                 }
                                             }
                                         }
@@ -18879,7 +22883,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx1x1111xxxxxxxxxx
                                                  fmov.  */
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx1x1111xxxxxxxxxx
                                                  fmov.  */
-                                              return 138;
+                                              return 140;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -18887,7 +22891,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx1x1111xxxxxxxxxx
                                                  fcvtzu.  */
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx1x1111xxxxxxxxxx
                                                  fcvtzu.  */
-                                              return 412;
+                                              return 418;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -18906,7 +22910,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          x0011111xx0xxxxx1xxxxxxxxxxxxxxx
                                          fmsub.  */
                                          10987654321098765432109876543210
                                          x0011111xx0xxxxx1xxxxxxxxxxxxxxx
                                          fmsub.  */
-                                      return 842;
+                                      return 859;
                                     }
                                   else
                                     {
                                     }
                                   else
                                     {
@@ -18914,7 +22918,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          x0011111xx1xxxxx1xxxxxxxxxxxxxxx
                                          fnmsub.  */
                                          10987654321098765432109876543210
                                          x0011111xx1xxxxx1xxxxxxxxxxxxxxx
                                          fnmsub.  */
-                                      return 846;
+                                      return 863;
                                     }
                                 }
                               else
                                     }
                                 }
                               else
@@ -18927,7 +22931,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x1011111xxxxxxxx1xx0x0xxxxxxxxxx
                                              sqdmulh.  */
                                              10987654321098765432109876543210
                                              x1011111xxxxxxxx1xx0x0xxxxxxxxxx
                                              sqdmulh.  */
-                                          return 422;
+                                          return 428;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -18941,7 +22945,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x10111110xxxxxxx1001x0xxxxxxxxxx
                                                          fmul.  */
                                                          10987654321098765432109876543210
                                                          x10111110xxxxxxx1001x0xxxxxxxxxx
                                                          fmul.  */
-                                                      return 429;
+                                                      return 435;
                                                     }
                                                   else
                                                     {
                                                     }
                                                   else
                                                     {
@@ -18949,7 +22953,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x10111111xxxxxxx1001x0xxxxxxxxxx
                                                          fmul.  */
                                                          10987654321098765432109876543210
                                                          x10111111xxxxxxx1001x0xxxxxxxxxx
                                                          fmul.  */
-                                                      return 428;
+                                                      return 434;
                                                     }
                                                 }
                                               else
                                                     }
                                                 }
                                               else
@@ -18958,7 +22962,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011111xxxxxxxx1101x0xxxxxxxxxx
                                                      sqrdmulh.  */
                                                      10987654321098765432109876543210
                                                      x1011111xxxxxxxx1101x0xxxxxxxxxx
                                                      sqrdmulh.  */
-                                                  return 423;
+                                                  return 429;
                                                 }
                                             }
                                           else
                                                 }
                                             }
                                           else
@@ -18967,7 +22971,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx1x11x0xxxxxxxxxx
                                                  sqdmull.  */
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx1x11x0xxxxxxxxxx
                                                  sqdmull.  */
-                                              return 421;
+                                              return 427;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -18981,7 +22985,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx1xx001xxxxxxxxxx
                                                  scvtf.  */
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx1xx001xxxxxxxxxx
                                                  scvtf.  */
-                                              return 592;
+                                              return 598;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -18989,7 +22993,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx1xx101xxxxxxxxxx
                                                  sqshrn.  */
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx1xx101xxxxxxxxxx
                                                  sqshrn.  */
-                                              return 590;
+                                              return 596;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -19000,7 +23004,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx1x0x11xxxxxxxxxx
                                                  sqrshrn.  */
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx1x0x11xxxxxxxxxx
                                                  sqrshrn.  */
-                                              return 591;
+                                              return 597;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -19008,7 +23012,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx1x1x11xxxxxxxxxx
                                                  fcvtzs.  */
                                                  10987654321098765432109876543210
                                                  x1011111xxxxxxxx1x1x11xxxxxxxxxx
                                                  fcvtzs.  */
-                                              return 594;
+                                              return 600;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -19028,7 +23032,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx1111110xxxxxxx100xx0xxxxxxxxxx
                                                  fmulx.  */
                                                  10987654321098765432109876543210
                                                  xx1111110xxxxxxx100xx0xxxxxxxxxx
                                                  fmulx.  */
-                                              return 431;
+                                              return 437;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -19036,7 +23040,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx1111111xxxxxxx100xx0xxxxxxxxxx
                                                  fmulx.  */
                                                  10987654321098765432109876543210
                                                  xx1111111xxxxxxx100xx0xxxxxxxxxx
                                                  fmulx.  */
-                                              return 430;
+                                              return 436;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -19045,7 +23049,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx110xx0xxxxxxxxxx
                                              sqrdmlah.  */
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx110xx0xxxxxxxxxx
                                              sqrdmlah.  */
-                                          return 432;
+                                          return 438;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -19054,7 +23058,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xx111111xxxxxxxx1x1xx0xxxxxxxxxx
                                          sqrdmlsh.  */
                                          10987654321098765432109876543210
                                          xx111111xxxxxxxx1x1xx0xxxxxxxxxx
                                          sqrdmlsh.  */
-                                      return 433;
+                                      return 439;
                                     }
                                 }
                               else
                                     }
                                 }
                               else
@@ -19069,7 +23073,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx111111xxxxxxxx1x0001xxxxxxxxxx
                                                  sqshrun.  */
                                                  10987654321098765432109876543210
                                                  xx111111xxxxxxxx1x0001xxxxxxxxxx
                                                  sqshrun.  */
-                                              return 604;
+                                              return 610;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -19077,7 +23081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx111111xxxxxxxx1x1001xxxxxxxxxx
                                                  ucvtf.  */
                                                  10987654321098765432109876543210
                                                  xx111111xxxxxxxx1x1001xxxxxxxxxx
                                                  ucvtf.  */
-                                              return 608;
+                                              return 614;
                                             }
                                         }
                                       else
                                             }
                                         }
                                       else
@@ -19086,7 +23090,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx1xx101xxxxxxxxxx
                                              uqshrn.  */
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx1xx101xxxxxxxxxx
                                              uqshrn.  */
-                                          return 606;
+                                          return 612;
                                         }
                                     }
                                   else
                                         }
                                     }
                                   else
@@ -19097,7 +23101,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx1xx011xxxxxxxxxx
                                              sqrshrun.  */
                                              10987654321098765432109876543210
                                              xx111111xxxxxxxx1xx011xxxxxxxxxx
                                              sqrshrun.  */
-                                          return 605;
+                                          return 611;
                                         }
                                       else
                                         {
                                         }
                                       else
                                         {
@@ -19107,7 +23111,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx111111xxxxxxxx1x0111xxxxxxxxxx
                                                  uqrshrn.  */
                                                  10987654321098765432109876543210
                                                  xx111111xxxxxxxx1x0111xxxxxxxxxx
                                                  uqrshrn.  */
-                                              return 607;
+                                              return 613;
                                             }
                                           else
                                             {
                                             }
                                           else
                                             {
@@ -19115,7 +23119,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx111111xxxxxxxx1x1111xxxxxxxxxx
                                                  fcvtzu.  */
                                                  10987654321098765432109876543210
                                                  xx111111xxxxxxxx1x1111xxxxxxxxxx
                                                  fcvtzu.  */
-                                              return 610;
+                                              return 616;
                                             }
                                         }
                                     }
                                             }
                                         }
                                     }
@@ -19146,241 +23150,254 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
   int value;
   switch (key)
     {
   int value;
   switch (key)
     {
-    case 941: value = 945; break;      /* stnp --> stp.  */
-    case 945: return NULL;             /* stp --> NULL.  */
-    case 939: value = 940; break;      /* stllrb --> stllrh.  */
-    case 940: return NULL;             /* stllrh --> NULL.  */
-    case 942: value = 946; break;      /* ldnp --> ldp.  */
-    case 946: return NULL;             /* ldp --> NULL.  */
-    case 1584: value = 1585; break;    /* ldff1b --> ldff1b.  */
-    case 1585: return NULL;            /* ldff1b --> NULL.  */
-    case 1640: value = 1641; break;    /* ldff1sw --> ldff1sw.  */
-    case 1641: return NULL;            /* ldff1sw --> NULL.  */
-    case 1588: value = 1589; break;    /* ldff1b --> ldff1b.  */
-    case 1589: return NULL;            /* ldff1b --> NULL.  */
-    case 1607: value = 1608; break;    /* ldff1h --> ldff1h.  */
-    case 1608: return NULL;            /* ldff1h --> NULL.  */
-    case 1586: value = 1587; break;    /* ldff1b --> ldff1b.  */
-    case 1587: return NULL;            /* ldff1b --> NULL.  */
-    case 1605: value = 1606; break;    /* ldff1h --> ldff1h.  */
-    case 1606: return NULL;            /* ldff1h --> NULL.  */
-    case 1590: value = 1591; break;    /* ldff1b --> ldff1b.  */
-    case 1591: return NULL;            /* ldff1b --> NULL.  */
-    case 1609: value = 1610; break;    /* ldff1h --> ldff1h.  */
-    case 1610: return NULL;            /* ldff1h --> NULL.  */
-    case 1630: value = 1631; break;    /* ldff1sh --> ldff1sh.  */
-    case 1631: return NULL;            /* ldff1sh --> NULL.  */
-    case 1618: value = 1619; break;    /* ldff1sb --> ldff1sb.  */
-    case 1619: return NULL;            /* ldff1sb --> NULL.  */
-    case 1649: value = 1650; break;    /* ldff1w --> ldff1w.  */
-    case 1650: return NULL;            /* ldff1w --> NULL.  */
-    case 1622: value = 1623; break;    /* ldff1sb --> ldff1sb.  */
-    case 1623: return NULL;            /* ldff1sb --> NULL.  */
-    case 1632: value = 1633; break;    /* ldff1sh --> ldff1sh.  */
-    case 1633: return NULL;            /* ldff1sh --> NULL.  */
-    case 1620: value = 1621; break;    /* ldff1sb --> ldff1sb.  */
-    case 1621: return NULL;            /* ldff1sb --> NULL.  */
-    case 1651: value = 1652; break;    /* ldff1w --> ldff1w.  */
-    case 1652: return NULL;            /* ldff1w --> NULL.  */
-    case 1596: value = 1597; break;    /* ldff1d --> ldff1d.  */
-    case 1597: return NULL;            /* ldff1d --> NULL.  */
-    case 1157: value = 1158; break;    /* msr --> hint.  */
-    case 1158: value = 1173; break;    /* hint --> clrex.  */
-    case 1173: value = 1174; break;    /* clrex --> dsb.  */
-    case 1174: value = 1177; break;    /* dsb --> dmb.  */
-    case 1177: value = 1178; break;    /* dmb --> isb.  */
-    case 1178: value = 1179; break;    /* isb --> sys.  */
-    case 1179: value = 1184; break;    /* sys --> msr.  */
-    case 1184: value = 2042; break;    /* msr --> cfinv.  */
-    case 2042: return NULL;            /* cfinv --> NULL.  */
-    case 1185: value = 1186; break;    /* sysl --> mrs.  */
-    case 1186: return NULL;            /* mrs --> NULL.  */
-    case 434: value = 435; break;      /* st4 --> st1.  */
-    case 435: value = 436; break;      /* st1 --> st2.  */
-    case 436: value = 437; break;      /* st2 --> st3.  */
-    case 437: return NULL;             /* st3 --> NULL.  */
-    case 442: value = 443; break;      /* st4 --> st1.  */
-    case 443: value = 444; break;      /* st1 --> st2.  */
-    case 444: value = 445; break;      /* st2 --> st3.  */
-    case 445: return NULL;             /* st3 --> NULL.  */
-    case 438: value = 439; break;      /* ld4 --> ld1.  */
-    case 439: value = 440; break;      /* ld1 --> ld2.  */
-    case 440: value = 441; break;      /* ld2 --> ld3.  */
-    case 441: return NULL;             /* ld3 --> NULL.  */
-    case 454: value = 456; break;      /* ld1 --> ld1r.  */
-    case 456: return NULL;             /* ld1r --> NULL.  */
-    case 458: value = 460; break;      /* ld2 --> ld2r.  */
-    case 460: return NULL;             /* ld2r --> NULL.  */
-    case 455: value = 457; break;      /* ld3 --> ld3r.  */
-    case 457: return NULL;             /* ld3r --> NULL.  */
-    case 459: value = 461; break;      /* ld4 --> ld4r.  */
-    case 461: return NULL;             /* ld4r --> NULL.  */
-    case 446: value = 447; break;      /* ld4 --> ld1.  */
-    case 447: value = 448; break;      /* ld1 --> ld2.  */
-    case 448: value = 449; break;      /* ld2 --> ld3.  */
-    case 449: return NULL;             /* ld3 --> NULL.  */
-    case 466: value = 468; break;      /* ld1 --> ld1r.  */
-    case 468: return NULL;             /* ld1r --> NULL.  */
-    case 467: value = 469; break;      /* ld3 --> ld3r.  */
-    case 469: return NULL;             /* ld3r --> NULL.  */
-    case 470: value = 472; break;      /* ld2 --> ld2r.  */
-    case 472: return NULL;             /* ld2r --> NULL.  */
-    case 471: value = 473; break;      /* ld4 --> ld4r.  */
-    case 473: return NULL;             /* ld4r --> NULL.  */
-    case 752: value = 753; break;      /* fcvtzs --> fcvtzs.  */
-    case 753: return NULL;             /* fcvtzs --> NULL.  */
-    case 748: value = 749; break;      /* scvtf --> scvtf.  */
-    case 749: return NULL;             /* scvtf --> NULL.  */
-    case 754: value = 755; break;      /* fcvtzu --> fcvtzu.  */
-    case 755: return NULL;             /* fcvtzu --> NULL.  */
-    case 750: value = 751; break;      /* ucvtf --> ucvtf.  */
-    case 751: return NULL;             /* ucvtf --> NULL.  */
-    case 756: value = 757; break;      /* fcvtns --> fcvtns.  */
-    case 757: return NULL;             /* fcvtns --> NULL.  */
-    case 776: value = 777; break;      /* fcvtms --> fcvtms.  */
-    case 777: return NULL;             /* fcvtms --> NULL.  */
-    case 772: value = 773; break;      /* fcvtps --> fcvtps.  */
-    case 773: return NULL;             /* fcvtps --> NULL.  */
-    case 780: value = 781; break;      /* fcvtzs --> fcvtzs.  */
-    case 781: return NULL;             /* fcvtzs --> NULL.  */
-    case 764: value = 765; break;      /* fcvtas --> fcvtas.  */
-    case 765: return NULL;             /* fcvtas --> NULL.  */
-    case 760: value = 761; break;      /* scvtf --> scvtf.  */
-    case 761: return NULL;             /* scvtf --> NULL.  */
-    case 768: value = 769; break;      /* fmov --> fmov.  */
-    case 769: return NULL;             /* fmov --> NULL.  */
-    case 758: value = 759; break;      /* fcvtnu --> fcvtnu.  */
-    case 759: return NULL;             /* fcvtnu --> NULL.  */
-    case 778: value = 779; break;      /* fcvtmu --> fcvtmu.  */
-    case 779: return NULL;             /* fcvtmu --> NULL.  */
-    case 774: value = 775; break;      /* fcvtpu --> fcvtpu.  */
-    case 775: return NULL;             /* fcvtpu --> NULL.  */
-    case 782: value = 783; break;      /* fcvtzu --> fcvtzu.  */
-    case 783: return NULL;             /* fcvtzu --> NULL.  */
-    case 766: value = 767; break;      /* fcvtau --> fcvtau.  */
-    case 767: return NULL;             /* fcvtau --> NULL.  */
-    case 762: value = 763; break;      /* ucvtf --> ucvtf.  */
-    case 763: return NULL;             /* ucvtf --> NULL.  */
-    case 770: value = 771; break;      /* fmov --> fmov.  */
-    case 771: return NULL;             /* fmov --> NULL.  */
-    case 799: value = 800; break;      /* fmov --> fmov.  */
-    case 800: return NULL;             /* fmov --> NULL.  */
-    case 808: value = 809; break;      /* frintn --> frintn.  */
-    case 809: return NULL;             /* frintn --> NULL.  */
-    case 803: value = 804; break;      /* fneg --> fneg.  */
-    case 804: return NULL;             /* fneg --> NULL.  */
-    case 812: value = 813; break;      /* frintm --> frintm.  */
-    case 813: return NULL;             /* frintm --> NULL.  */
-    case 801: value = 802; break;      /* fabs --> fabs.  */
-    case 802: return NULL;             /* fabs --> NULL.  */
-    case 810: value = 811; break;      /* frintp --> frintp.  */
-    case 811: return NULL;             /* frintp --> NULL.  */
-    case 805: value = 806; break;      /* fsqrt --> fsqrt.  */
-    case 806: return NULL;             /* fsqrt --> NULL.  */
-    case 814: value = 815; break;      /* frintz --> frintz.  */
-    case 815: return NULL;             /* frintz --> NULL.  */
-    case 816: value = 817; break;      /* frinta --> frinta.  */
-    case 817: return NULL;             /* frinta --> NULL.  */
-    case 818: value = 819; break;      /* frintx --> frintx.  */
-    case 819: return NULL;             /* frintx --> NULL.  */
-    case 820: value = 821; break;      /* frinti --> frinti.  */
-    case 821: return NULL;             /* frinti --> NULL.  */
-    case 791: value = 792; break;      /* fcmp --> fcmp.  */
-    case 792: return NULL;             /* fcmp --> NULL.  */
-    case 793: value = 794; break;      /* fcmpe --> fcmpe.  */
-    case 794: return NULL;             /* fcmpe --> NULL.  */
-    case 795: value = 796; break;      /* fcmp --> fcmp.  */
-    case 796: return NULL;             /* fcmp --> NULL.  */
-    case 797: value = 798; break;      /* fcmpe --> fcmpe.  */
-    case 798: return NULL;             /* fcmpe --> NULL.  */
-    case 848: value = 849; break;      /* fmov --> fmov.  */
-    case 849: return NULL;             /* fmov --> NULL.  */
-    case 822: value = 823; break;      /* fmul --> fmul.  */
-    case 823: return NULL;             /* fmul --> NULL.  */
-    case 838: value = 839; break;      /* fnmul --> fnmul.  */
-    case 839: return NULL;             /* fnmul --> NULL.  */
-    case 830: value = 831; break;      /* fmax --> fmax.  */
-    case 831: return NULL;             /* fmax --> NULL.  */
-    case 826: value = 827; break;      /* fadd --> fadd.  */
-    case 827: return NULL;             /* fadd --> NULL.  */
-    case 834: value = 835; break;      /* fmaxnm --> fmaxnm.  */
-    case 835: return NULL;             /* fmaxnm --> NULL.  */
-    case 824: value = 825; break;      /* fdiv --> fdiv.  */
-    case 825: return NULL;             /* fdiv --> NULL.  */
-    case 832: value = 833; break;      /* fmin --> fmin.  */
-    case 833: return NULL;             /* fmin --> NULL.  */
-    case 828: value = 829; break;      /* fsub --> fsub.  */
-    case 829: return NULL;             /* fsub --> NULL.  */
-    case 836: value = 837; break;      /* fminnm --> fminnm.  */
-    case 837: return NULL;             /* fminnm --> NULL.  */
-    case 787: value = 788; break;      /* fccmp --> fccmp.  */
-    case 788: return NULL;             /* fccmp --> NULL.  */
-    case 789: value = 790; break;      /* fccmpe --> fccmpe.  */
-    case 790: return NULL;             /* fccmpe --> NULL.  */
-    case 850: value = 851; break;      /* fcsel --> fcsel.  */
-    case 851: return NULL;             /* fcsel --> NULL.  */
-    case 131: value = 368; break;      /* movi --> sshr.  */
-    case 368: value = 370; break;      /* sshr --> srshr.  */
-    case 370: return NULL;             /* srshr --> NULL.  */
-    case 139: value = 390; break;      /* mvni --> ushr.  */
-    case 390: value = 392; break;      /* ushr --> urshr.  */
-    case 392: value = 394; break;      /* urshr --> sri.  */
-    case 394: value = 396; break;      /* sri --> sqshlu.  */
-    case 396: return NULL;             /* sqshlu --> NULL.  */
-    case 132: value = 369; break;      /* orr --> ssra.  */
-    case 369: value = 371; break;      /* ssra --> srsra.  */
-    case 371: value = 372; break;      /* srsra --> shl.  */
-    case 372: value = 373; break;      /* shl --> sqshl.  */
-    case 373: return NULL;             /* sqshl --> NULL.  */
-    case 140: value = 391; break;      /* bic --> usra.  */
-    case 391: value = 393; break;      /* usra --> ursra.  */
-    case 393: value = 395; break;      /* ursra --> sli.  */
-    case 395: value = 397; break;      /* sli --> uqshl.  */
-    case 397: return NULL;             /* uqshl --> NULL.  */
-    case 840: value = 841; break;      /* fmadd --> fmadd.  */
-    case 841: return NULL;             /* fmadd --> NULL.  */
-    case 844: value = 845; break;      /* fnmadd --> fnmadd.  */
-    case 845: return NULL;             /* fnmadd --> NULL.  */
-    case 133: value = 374; break;      /* movi --> shrn.  */
-    case 374: value = 375; break;      /* shrn --> shrn2.  */
-    case 375: value = 382; break;      /* shrn2 --> sshll.  */
-    case 382: value = 384; break;      /* sshll --> sshll2.  */
-    case 384: return NULL;             /* sshll2 --> NULL.  */
-    case 141: value = 398; break;      /* mvni --> sqshrun.  */
-    case 398: value = 399; break;      /* sqshrun --> sqshrun2.  */
-    case 399: value = 406; break;      /* sqshrun2 --> ushll.  */
-    case 406: value = 408; break;      /* ushll --> ushll2.  */
-    case 408: return NULL;             /* ushll2 --> NULL.  */
-    case 134: value = 378; break;      /* orr --> sqshrn.  */
-    case 378: value = 379; break;      /* sqshrn --> sqshrn2.  */
-    case 379: return NULL;             /* sqshrn2 --> NULL.  */
-    case 142: value = 402; break;      /* bic --> uqshrn.  */
-    case 402: value = 403; break;      /* uqshrn --> uqshrn2.  */
-    case 403: return NULL;             /* uqshrn2 --> NULL.  */
-    case 136: value = 386; break;      /* movi --> scvtf.  */
-    case 386: value = 387; break;      /* scvtf --> scvtf.  */
-    case 387: return NULL;             /* scvtf --> NULL.  */
-    case 144: value = 145; break;      /* movi --> movi.  */
-    case 145: value = 410; break;      /* movi --> ucvtf.  */
-    case 410: value = 411; break;      /* ucvtf --> ucvtf.  */
-    case 411: return NULL;             /* ucvtf --> NULL.  */
-    case 138: value = 388; break;      /* fmov --> fcvtzs.  */
-    case 388: value = 389; break;      /* fcvtzs --> fcvtzs.  */
-    case 389: return NULL;             /* fcvtzs --> NULL.  */
-    case 412: value = 413; break;      /* fcvtzu --> fcvtzu.  */
-    case 413: return NULL;             /* fcvtzu --> NULL.  */
-    case 842: value = 843; break;      /* fmsub --> fmsub.  */
-    case 843: return NULL;             /* fmsub --> NULL.  */
-    case 846: value = 847; break;      /* fnmsub --> fnmsub.  */
-    case 847: return NULL;             /* fnmsub --> NULL.  */
-    case 592: value = 593; break;      /* scvtf --> scvtf.  */
-    case 593: return NULL;             /* scvtf --> NULL.  */
-    case 594: value = 595; break;      /* fcvtzs --> fcvtzs.  */
-    case 595: return NULL;             /* fcvtzs --> NULL.  */
-    case 608: value = 609; break;      /* ucvtf --> ucvtf.  */
-    case 609: return NULL;             /* ucvtf --> NULL.  */
-    case 610: value = 611; break;      /* fcvtzu --> fcvtzu.  */
-    case 611: return NULL;             /* fcvtzu --> NULL.  */
+    case 12: value = 19; break;        /* add --> addg.  */
+    case 19: return NULL;              /* addg --> NULL.  */
+    case 16: value = 20; break;        /* sub --> subg.  */
+    case 20: return NULL;              /* subg --> NULL.  */
+    case 970: value = 974; break;      /* stnp --> stp.  */
+    case 974: return NULL;             /* stp --> NULL.  */
+    case 968: value = 969; break;      /* stllrb --> stllrh.  */
+    case 969: return NULL;             /* stllrh --> NULL.  */
+    case 971: value = 975; break;      /* ldnp --> ldp.  */
+    case 975: return NULL;             /* ldp --> NULL.  */
+    case 1624: value = 1625; break;    /* ldff1b --> ldff1b.  */
+    case 1625: return NULL;            /* ldff1b --> NULL.  */
+    case 1680: value = 1681; break;    /* ldff1sw --> ldff1sw.  */
+    case 1681: return NULL;            /* ldff1sw --> NULL.  */
+    case 1628: value = 1629; break;    /* ldff1b --> ldff1b.  */
+    case 1629: return NULL;            /* ldff1b --> NULL.  */
+    case 1647: value = 1648; break;    /* ldff1h --> ldff1h.  */
+    case 1648: return NULL;            /* ldff1h --> NULL.  */
+    case 1626: value = 1627; break;    /* ldff1b --> ldff1b.  */
+    case 1627: return NULL;            /* ldff1b --> NULL.  */
+    case 1645: value = 1646; break;    /* ldff1h --> ldff1h.  */
+    case 1646: return NULL;            /* ldff1h --> NULL.  */
+    case 1630: value = 1631; break;    /* ldff1b --> ldff1b.  */
+    case 1631: return NULL;            /* ldff1b --> NULL.  */
+    case 1649: value = 1650; break;    /* ldff1h --> ldff1h.  */
+    case 1650: return NULL;            /* ldff1h --> NULL.  */
+    case 1670: value = 1671; break;    /* ldff1sh --> ldff1sh.  */
+    case 1671: return NULL;            /* ldff1sh --> NULL.  */
+    case 1658: value = 1659; break;    /* ldff1sb --> ldff1sb.  */
+    case 1659: return NULL;            /* ldff1sb --> NULL.  */
+    case 1689: value = 1690; break;    /* ldff1w --> ldff1w.  */
+    case 1690: return NULL;            /* ldff1w --> NULL.  */
+    case 1662: value = 1663; break;    /* ldff1sb --> ldff1sb.  */
+    case 1663: return NULL;            /* ldff1sb --> NULL.  */
+    case 1672: value = 1673; break;    /* ldff1sh --> ldff1sh.  */
+    case 1673: return NULL;            /* ldff1sh --> NULL.  */
+    case 1660: value = 1661; break;    /* ldff1sb --> ldff1sb.  */
+    case 1661: return NULL;            /* ldff1sb --> NULL.  */
+    case 1691: value = 1692; break;    /* ldff1w --> ldff1w.  */
+    case 1692: return NULL;            /* ldff1w --> NULL.  */
+    case 1636: value = 1637; break;    /* ldff1d --> ldff1d.  */
+    case 1637: return NULL;            /* ldff1d --> NULL.  */
+    case 810: value = 811; break;      /* xaflag --> axflag.  */
+    case 811: value = 1189; break;     /* axflag --> tcommit.  */
+    case 1189: value = 1192; break;    /* tcommit --> msr.  */
+    case 1192: value = 1193; break;    /* msr --> hint.  */
+    case 1193: value = 1209; break;    /* hint --> clrex.  */
+    case 1209: value = 1210; break;    /* clrex --> dsb.  */
+    case 1210: value = 1213; break;    /* dsb --> dmb.  */
+    case 1213: value = 1214; break;    /* dmb --> isb.  */
+    case 1214: value = 1215; break;    /* isb --> sb.  */
+    case 1215: value = 1216; break;    /* sb --> sys.  */
+    case 1216: value = 1224; break;    /* sys --> msr.  */
+    case 1224: value = 2373; break;    /* msr --> cfinv.  */
+    case 2373: value = 2390; break;    /* cfinv --> dgh.  */
+    case 2390: return NULL;            /* dgh --> NULL.  */
+    case 1188: value = 1190; break;    /* tstart --> ttest.  */
+    case 1190: value = 1225; break;    /* ttest --> sysl.  */
+    case 1225: value = 1226; break;    /* sysl --> mrs.  */
+    case 1226: 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 763: value = 764; break;      /* fcvtzs --> fcvtzs.  */
+    case 764: return NULL;             /* fcvtzs --> NULL.  */
+    case 759: value = 760; break;      /* scvtf --> scvtf.  */
+    case 760: return NULL;             /* scvtf --> NULL.  */
+    case 765: value = 766; break;      /* fcvtzu --> fcvtzu.  */
+    case 766: return NULL;             /* fcvtzu --> NULL.  */
+    case 761: value = 762; break;      /* ucvtf --> ucvtf.  */
+    case 762: return NULL;             /* ucvtf --> NULL.  */
+    case 767: value = 768; break;      /* fcvtns --> fcvtns.  */
+    case 768: return NULL;             /* fcvtns --> NULL.  */
+    case 787: value = 788; break;      /* fcvtms --> fcvtms.  */
+    case 788: return NULL;             /* fcvtms --> NULL.  */
+    case 783: value = 784; break;      /* fcvtps --> fcvtps.  */
+    case 784: return NULL;             /* fcvtps --> NULL.  */
+    case 791: value = 792; break;      /* fcvtzs --> fcvtzs.  */
+    case 792: return NULL;             /* fcvtzs --> NULL.  */
+    case 775: value = 776; break;      /* fcvtas --> fcvtas.  */
+    case 776: return NULL;             /* fcvtas --> NULL.  */
+    case 771: value = 772; break;      /* scvtf --> scvtf.  */
+    case 772: return NULL;             /* scvtf --> NULL.  */
+    case 779: value = 780; break;      /* fmov --> fmov.  */
+    case 780: return NULL;             /* fmov --> NULL.  */
+    case 769: value = 770; break;      /* fcvtnu --> fcvtnu.  */
+    case 770: return NULL;             /* fcvtnu --> NULL.  */
+    case 789: value = 790; break;      /* fcvtmu --> fcvtmu.  */
+    case 790: return NULL;             /* fcvtmu --> NULL.  */
+    case 785: value = 786; break;      /* fcvtpu --> fcvtpu.  */
+    case 786: return NULL;             /* fcvtpu --> NULL.  */
+    case 793: value = 794; break;      /* fcvtzu --> fcvtzu.  */
+    case 794: return NULL;             /* fcvtzu --> NULL.  */
+    case 777: value = 778; break;      /* fcvtau --> fcvtau.  */
+    case 778: return NULL;             /* fcvtau --> NULL.  */
+    case 773: value = 774; break;      /* ucvtf --> ucvtf.  */
+    case 774: return NULL;             /* ucvtf --> NULL.  */
+    case 781: value = 782; break;      /* fmov --> fmov.  */
+    case 782: return NULL;             /* fmov --> NULL.  */
+    case 816: value = 817; break;      /* fmov --> fmov.  */
+    case 817: return NULL;             /* fmov --> NULL.  */
+    case 825: value = 826; break;      /* frintn --> frintn.  */
+    case 826: return NULL;             /* frintn --> NULL.  */
+    case 820: value = 821; break;      /* fneg --> fneg.  */
+    case 821: return NULL;             /* fneg --> NULL.  */
+    case 829: value = 830; break;      /* frintm --> frintm.  */
+    case 830: return NULL;             /* frintm --> NULL.  */
+    case 818: value = 819; break;      /* fabs --> fabs.  */
+    case 819: return NULL;             /* fabs --> NULL.  */
+    case 827: value = 828; break;      /* frintp --> frintp.  */
+    case 828: return NULL;             /* frintp --> NULL.  */
+    case 822: value = 823; break;      /* fsqrt --> fsqrt.  */
+    case 823: return NULL;             /* fsqrt --> NULL.  */
+    case 831: value = 832; break;      /* frintz --> frintz.  */
+    case 832: return NULL;             /* frintz --> NULL.  */
+    case 824: value = 2433; break;     /* fcvt --> bfcvt.  */
+    case 2433: return NULL;            /* bfcvt --> NULL.  */
+    case 833: value = 834; break;      /* frinta --> frinta.  */
+    case 834: return NULL;             /* frinta --> NULL.  */
+    case 835: value = 836; break;      /* frintx --> frintx.  */
+    case 836: return NULL;             /* frintx --> NULL.  */
+    case 837: value = 838; break;      /* frinti --> frinti.  */
+    case 838: return NULL;             /* frinti --> NULL.  */
+    case 802: value = 803; break;      /* fcmp --> fcmp.  */
+    case 803: return NULL;             /* fcmp --> NULL.  */
+    case 804: value = 805; break;      /* fcmpe --> fcmpe.  */
+    case 805: return NULL;             /* fcmpe --> NULL.  */
+    case 806: value = 807; break;      /* fcmp --> fcmp.  */
+    case 807: return NULL;             /* fcmp --> NULL.  */
+    case 808: value = 809; break;      /* fcmpe --> fcmpe.  */
+    case 809: return NULL;             /* fcmpe --> NULL.  */
+    case 865: value = 866; break;      /* fmov --> fmov.  */
+    case 866: return NULL;             /* fmov --> NULL.  */
+    case 839: value = 840; break;      /* fmul --> fmul.  */
+    case 840: return NULL;             /* fmul --> NULL.  */
+    case 855: value = 856; break;      /* fnmul --> fnmul.  */
+    case 856: return NULL;             /* fnmul --> NULL.  */
+    case 847: value = 848; break;      /* fmax --> fmax.  */
+    case 848: return NULL;             /* fmax --> NULL.  */
+    case 843: value = 844; break;      /* fadd --> fadd.  */
+    case 844: return NULL;             /* fadd --> NULL.  */
+    case 851: value = 852; break;      /* fmaxnm --> fmaxnm.  */
+    case 852: return NULL;             /* fmaxnm --> NULL.  */
+    case 841: value = 842; break;      /* fdiv --> fdiv.  */
+    case 842: return NULL;             /* fdiv --> NULL.  */
+    case 849: value = 850; break;      /* fmin --> fmin.  */
+    case 850: return NULL;             /* fmin --> NULL.  */
+    case 845: value = 846; break;      /* fsub --> fsub.  */
+    case 846: return NULL;             /* fsub --> NULL.  */
+    case 853: value = 854; break;      /* fminnm --> fminnm.  */
+    case 854: return NULL;             /* fminnm --> NULL.  */
+    case 798: value = 799; break;      /* fccmp --> fccmp.  */
+    case 799: return NULL;             /* fccmp --> NULL.  */
+    case 800: value = 801; break;      /* fccmpe --> fccmpe.  */
+    case 801: return NULL;             /* fccmpe --> NULL.  */
+    case 867: value = 868; break;      /* fcsel --> fcsel.  */
+    case 868: 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 857: value = 858; break;      /* fmadd --> fmadd.  */
+    case 858: return NULL;             /* fmadd --> NULL.  */
+    case 861: value = 862; break;      /* fnmadd --> fnmadd.  */
+    case 862: 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 859: value = 860; break;      /* fmsub --> fmsub.  */
+    case 860: return NULL;             /* fmsub --> NULL.  */
+    case 863: value = 864; break;      /* fnmsub --> fnmsub.  */
+    case 864: 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;
     }
 
     default: return NULL;
     }
 
@@ -19402,125 +23419,126 @@ aarch64_find_alias_opcode (const aarch64_opcode *opcode)
     case 12: value = 13; break;        /* add --> mov.  */
     case 14: value = 15; break;        /* adds --> cmn.  */
     case 17: value = 18; break;        /* subs --> cmp.  */
     case 12: value = 13; break;        /* add --> mov.  */
     case 14: value = 15; break;        /* adds --> cmn.  */
     case 17: value = 18; break;        /* subs --> cmp.  */
-    case 20: value = 21; break;        /* adds --> cmn.  */
-    case 22: value = 23; break;        /* sub --> neg.  */
-    case 24: value = 25; break;        /* subs --> cmp.  */
-    case 150: value = 151; break;      /* umov --> mov.  */
-    case 152: value = 153; break;      /* ins --> mov.  */
+    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 154: value = 155; break;      /* ins --> mov.  */
-    case 236: value = 237; break;      /* not --> mvn.  */
-    case 311: value = 312; break;      /* orr --> mov.  */
-    case 382: value = 383; break;      /* sshll --> sxtl.  */
-    case 384: value = 385; break;      /* sshll2 --> sxtl2.  */
-    case 406: value = 407; break;      /* ushll --> uxtl.  */
-    case 408: value = 409; break;      /* ushll2 --> uxtl2.  */
-    case 529: value = 530; break;      /* dup --> mov.  */
-    case 612: value = 617; break;      /* sbfm --> sxtw.  */
-    case 619: value = 621; break;      /* bfm --> bfc.  */
-    case 623: value = 627; break;      /* ubfm --> uxth.  */
-    case 657: value = 659; break;      /* csinc --> cset.  */
-    case 660: value = 662; break;      /* csinv --> csetm.  */
-    case 663: value = 664; break;      /* csneg --> cneg.  */
-    case 682: value = 682; break;      /* rev --> rev.  */
-    case 707: value = 708; break;      /* lslv --> lsl.  */
-    case 709: value = 710; break;      /* lsrv --> lsr.  */
-    case 711: value = 712; break;      /* asrv --> asr.  */
-    case 713: value = 714; break;      /* rorv --> ror.  */
-    case 724: value = 725; break;      /* madd --> mul.  */
-    case 726: value = 727; break;      /* msub --> mneg.  */
-    case 728: value = 729; break;      /* smaddl --> smull.  */
-    case 730: value = 731; break;      /* smsubl --> smnegl.  */
-    case 733: value = 734; break;      /* umaddl --> umull.  */
-    case 735: value = 736; break;      /* umsubl --> umnegl.  */
-    case 746: value = 747; break;      /* extr --> ror.  */
-    case 959: value = 960; break;      /* and --> bic.  */
-    case 961: value = 962; break;      /* orr --> mov.  */
-    case 964: value = 965; break;      /* ands --> tst.  */
-    case 968: value = 970; break;      /* orr --> uxtw.  */
-    case 971: value = 972; break;      /* orn --> mvn.  */
-    case 975: value = 976; break;      /* ands --> tst.  */
-    case 1006: value = 1102; break;    /* ldaddb --> staddb.  */
-    case 1007: value = 1103; break;    /* ldaddh --> staddh.  */
-    case 1008: value = 1104; break;    /* ldadd --> stadd.  */
-    case 1010: value = 1105; break;    /* ldaddlb --> staddlb.  */
-    case 1013: value = 1106; break;    /* ldaddlh --> staddlh.  */
-    case 1016: value = 1107; break;    /* ldaddl --> staddl.  */
-    case 1018: value = 1108; break;    /* ldclrb --> stclrb.  */
-    case 1019: value = 1109; break;    /* ldclrh --> stclrh.  */
-    case 1020: value = 1110; break;    /* ldclr --> stclr.  */
-    case 1022: value = 1111; break;    /* ldclrlb --> stclrlb.  */
-    case 1025: value = 1112; break;    /* ldclrlh --> stclrlh.  */
-    case 1028: value = 1113; break;    /* ldclrl --> stclrl.  */
-    case 1030: value = 1114; break;    /* ldeorb --> steorb.  */
-    case 1031: value = 1115; break;    /* ldeorh --> steorh.  */
-    case 1032: value = 1116; break;    /* ldeor --> steor.  */
-    case 1034: value = 1117; break;    /* ldeorlb --> steorlb.  */
-    case 1037: value = 1118; break;    /* ldeorlh --> steorlh.  */
-    case 1040: value = 1119; break;    /* ldeorl --> steorl.  */
-    case 1042: value = 1120; break;    /* ldsetb --> stsetb.  */
-    case 1043: value = 1121; break;    /* ldseth --> stseth.  */
-    case 1044: value = 1122; break;    /* ldset --> stset.  */
-    case 1046: value = 1123; break;    /* ldsetlb --> stsetlb.  */
-    case 1049: value = 1124; break;    /* ldsetlh --> stsetlh.  */
-    case 1052: value = 1125; break;    /* ldsetl --> stsetl.  */
-    case 1054: value = 1126; break;    /* ldsmaxb --> stsmaxb.  */
-    case 1055: value = 1127; break;    /* ldsmaxh --> stsmaxh.  */
-    case 1056: value = 1128; break;    /* ldsmax --> stsmax.  */
-    case 1058: value = 1129; break;    /* ldsmaxlb --> stsmaxlb.  */
-    case 1061: value = 1130; break;    /* ldsmaxlh --> stsmaxlh.  */
-    case 1064: value = 1131; break;    /* ldsmaxl --> stsmaxl.  */
-    case 1066: value = 1132; break;    /* ldsminb --> stsminb.  */
-    case 1067: value = 1133; break;    /* ldsminh --> stsminh.  */
-    case 1068: value = 1134; break;    /* ldsmin --> stsmin.  */
-    case 1070: value = 1135; break;    /* ldsminlb --> stsminlb.  */
-    case 1073: value = 1136; break;    /* ldsminlh --> stsminlh.  */
-    case 1076: value = 1137; break;    /* ldsminl --> stsminl.  */
-    case 1078: value = 1138; break;    /* ldumaxb --> stumaxb.  */
-    case 1079: value = 1139; break;    /* ldumaxh --> stumaxh.  */
-    case 1080: value = 1140; break;    /* ldumax --> stumax.  */
-    case 1082: value = 1141; break;    /* ldumaxlb --> stumaxlb.  */
-    case 1085: value = 1142; break;    /* ldumaxlh --> stumaxlh.  */
-    case 1088: value = 1143; break;    /* ldumaxl --> stumaxl.  */
-    case 1090: value = 1144; break;    /* lduminb --> stuminb.  */
-    case 1091: value = 1145; break;    /* lduminh --> stuminh.  */
-    case 1092: value = 1146; break;    /* ldumin --> stumin.  */
-    case 1094: value = 1147; break;    /* lduminlb --> stuminlb.  */
-    case 1097: value = 1148; break;    /* lduminlh --> stuminlh.  */
-    case 1100: value = 1149; break;    /* lduminl --> stuminl.  */
-    case 1150: value = 1151; break;    /* movn --> mov.  */
-    case 1152: value = 1153; break;    /* movz --> mov.  */
-    case 1158: value = 1194; break;    /* hint --> autibsp.  */
-    case 1174: value = 1176; break;    /* dsb --> pssbb.  */
-    case 1179: value = 1183; break;    /* sys --> tlbi.  */
-    case 1242: value = 1992; break;    /* and --> bic.  */
-    case 1244: value = 1225; break;    /* and --> mov.  */
-    case 1245: value = 1229; break;    /* ands --> movs.  */
-    case 1280: value = 1993; break;    /* cmpge --> cmple.  */
-    case 1283: value = 1996; break;    /* cmpgt --> cmplt.  */
-    case 1285: value = 1994; break;    /* cmphi --> cmplo.  */
-    case 1288: value = 1995; break;    /* cmphs --> cmpls.  */
-    case 1310: value = 1222; break;    /* cpy --> mov.  */
-    case 1311: value = 1224; break;    /* cpy --> mov.  */
-    case 1312: value = 2003; break;    /* cpy --> fmov.  */
-    case 1324: value = 1217; break;    /* dup --> mov.  */
-    case 1325: value = 1219; break;    /* dup --> mov.  */
-    case 1326: value = 2002; break;    /* dup --> fmov.  */
-    case 1327: value = 1220; break;    /* dupm --> mov.  */
-    case 1329: value = 1997; break;    /* eor --> eon.  */
-    case 1331: value = 1230; break;    /* eor --> not.  */
-    case 1332: value = 1231; break;    /* eors --> nots.  */
-    case 1337: value = 1998; break;    /* facge --> facle.  */
-    case 1338: value = 1999; break;    /* facgt --> faclt.  */
-    case 1351: value = 2000; break;    /* fcmge --> fcmle.  */
-    case 1353: value = 2001; break;    /* fcmgt --> fcmlt.  */
-    case 1359: value = 1214; break;    /* fcpy --> fmov.  */
-    case 1382: value = 1213; break;    /* fdup --> fmov.  */
-    case 1713: value = 1215; break;    /* orr --> mov.  */
-    case 1714: value = 2004; break;    /* orr --> orn.  */
-    case 1716: value = 1218; break;    /* orr --> mov.  */
-    case 1717: value = 1228; break;    /* orrs --> movs.  */
-    case 1779: value = 1223; break;    /* sel --> mov.  */
-    case 1780: value = 1226; break;    /* sel --> 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 757: value = 758; break;      /* extr --> ror.  */
+    case 990: value = 991; break;      /* and --> bic.  */
+    case 992: value = 993; break;      /* orr --> mov.  */
+    case 995: value = 996; break;      /* ands --> tst.  */
+    case 999: value = 1001; break;     /* orr --> uxtw.  */
+    case 1002: value = 1003; break;    /* orn --> mvn.  */
+    case 1006: value = 1007; break;    /* ands --> tst.  */
+    case 1037: value = 1133; break;    /* ldaddb --> staddb.  */
+    case 1038: value = 1134; break;    /* ldaddh --> staddh.  */
+    case 1039: value = 1135; break;    /* ldadd --> stadd.  */
+    case 1041: value = 1136; break;    /* ldaddlb --> staddlb.  */
+    case 1044: value = 1137; break;    /* ldaddlh --> staddlh.  */
+    case 1047: value = 1138; break;    /* ldaddl --> staddl.  */
+    case 1049: value = 1139; break;    /* ldclrb --> stclrb.  */
+    case 1050: value = 1140; break;    /* ldclrh --> stclrh.  */
+    case 1051: value = 1141; break;    /* ldclr --> stclr.  */
+    case 1053: value = 1142; break;    /* ldclrlb --> stclrlb.  */
+    case 1056: value = 1143; break;    /* ldclrlh --> stclrlh.  */
+    case 1059: value = 1144; break;    /* ldclrl --> stclrl.  */
+    case 1061: value = 1145; break;    /* ldeorb --> steorb.  */
+    case 1062: value = 1146; break;    /* ldeorh --> steorh.  */
+    case 1063: value = 1147; break;    /* ldeor --> steor.  */
+    case 1065: value = 1148; break;    /* ldeorlb --> steorlb.  */
+    case 1068: value = 1149; break;    /* ldeorlh --> steorlh.  */
+    case 1071: value = 1150; break;    /* ldeorl --> steorl.  */
+    case 1073: value = 1151; break;    /* ldsetb --> stsetb.  */
+    case 1074: value = 1152; break;    /* ldseth --> stseth.  */
+    case 1075: value = 1153; break;    /* ldset --> stset.  */
+    case 1077: value = 1154; break;    /* ldsetlb --> stsetlb.  */
+    case 1080: value = 1155; break;    /* ldsetlh --> stsetlh.  */
+    case 1083: value = 1156; break;    /* ldsetl --> stsetl.  */
+    case 1085: value = 1157; break;    /* ldsmaxb --> stsmaxb.  */
+    case 1086: value = 1158; break;    /* ldsmaxh --> stsmaxh.  */
+    case 1087: value = 1159; break;    /* ldsmax --> stsmax.  */
+    case 1089: value = 1160; break;    /* ldsmaxlb --> stsmaxlb.  */
+    case 1092: value = 1161; break;    /* ldsmaxlh --> stsmaxlh.  */
+    case 1095: value = 1162; break;    /* ldsmaxl --> stsmaxl.  */
+    case 1097: value = 1163; break;    /* ldsminb --> stsminb.  */
+    case 1098: value = 1164; break;    /* ldsminh --> stsminh.  */
+    case 1099: value = 1165; break;    /* ldsmin --> stsmin.  */
+    case 1101: value = 1166; break;    /* ldsminlb --> stsminlb.  */
+    case 1104: value = 1167; break;    /* ldsminlh --> stsminlh.  */
+    case 1107: value = 1168; break;    /* ldsminl --> stsminl.  */
+    case 1109: value = 1169; break;    /* ldumaxb --> stumaxb.  */
+    case 1110: value = 1170; break;    /* ldumaxh --> stumaxh.  */
+    case 1111: value = 1171; break;    /* ldumax --> stumax.  */
+    case 1113: value = 1172; break;    /* ldumaxlb --> stumaxlb.  */
+    case 1116: value = 1173; break;    /* ldumaxlh --> stumaxlh.  */
+    case 1119: value = 1174; break;    /* ldumaxl --> stumaxl.  */
+    case 1121: value = 1175; break;    /* lduminb --> stuminb.  */
+    case 1122: value = 1176; break;    /* lduminh --> stuminh.  */
+    case 1123: value = 1177; break;    /* ldumin --> stumin.  */
+    case 1125: value = 1178; break;    /* lduminlb --> stuminlb.  */
+    case 1128: value = 1179; break;    /* lduminlh --> stuminlh.  */
+    case 1131: value = 1180; break;    /* lduminl --> stuminl.  */
+    case 1181: value = 1182; break;    /* movn --> mov.  */
+    case 1183: value = 1184; break;    /* movz --> mov.  */
+    case 1193: value = 1234; break;    /* hint --> autibsp.  */
+    case 1210: value = 1212; break;    /* dsb --> pssbb.  */
+    case 1216: value = 1223; break;    /* sys --> cpp.  */
+    case 1282: value = 2032; break;    /* and --> bic.  */
+    case 1284: value = 1265; break;    /* and --> mov.  */
+    case 1285: value = 1269; break;    /* ands --> movs.  */
+    case 1320: value = 2033; break;    /* cmpge --> cmple.  */
+    case 1323: value = 2036; break;    /* cmpgt --> cmplt.  */
+    case 1325: value = 2034; break;    /* cmphi --> cmplo.  */
+    case 1328: value = 2035; break;    /* cmphs --> cmpls.  */
+    case 1350: value = 1262; break;    /* cpy --> mov.  */
+    case 1351: value = 1264; break;    /* cpy --> mov.  */
+    case 1352: value = 2043; break;    /* cpy --> fmov.  */
+    case 1364: value = 1257; break;    /* dup --> mov.  */
+    case 1365: value = 1259; break;    /* dup --> mov.  */
+    case 1366: value = 2042; break;    /* dup --> fmov.  */
+    case 1367: value = 1260; break;    /* dupm --> mov.  */
+    case 1369: value = 2037; break;    /* eor --> eon.  */
+    case 1371: value = 1270; break;    /* eor --> not.  */
+    case 1372: value = 1271; break;    /* eors --> nots.  */
+    case 1377: value = 2038; break;    /* facge --> facle.  */
+    case 1378: value = 2039; break;    /* facgt --> faclt.  */
+    case 1391: value = 2040; break;    /* fcmge --> fcmle.  */
+    case 1393: value = 2041; break;    /* fcmgt --> fcmlt.  */
+    case 1399: value = 1254; break;    /* fcpy --> fmov.  */
+    case 1422: value = 1253; break;    /* fdup --> fmov.  */
+    case 1753: value = 1255; break;    /* orr --> mov.  */
+    case 1754: value = 2044; break;    /* orr --> orn.  */
+    case 1756: value = 1258; break;    /* orr --> mov.  */
+    case 1757: value = 1268; break;    /* orrs --> movs.  */
+    case 1819: value = 1263; break;    /* sel --> mov.  */
+    case 1820: value = 1266; break;    /* sel --> mov.  */
     default: return NULL;
     }
 
     default: return NULL;
     }
 
@@ -19542,169 +23560,174 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode)
     case 13: value = 12; break;        /* mov --> add.  */
     case 15: value = 14; break;        /* cmn --> adds.  */
     case 18: value = 17; break;        /* cmp --> subs.  */
     case 13: value = 12; break;        /* mov --> add.  */
     case 15: value = 14; break;        /* cmn --> adds.  */
     case 18: value = 17; break;        /* cmp --> subs.  */
-    case 21: value = 20; break;        /* cmn --> adds.  */
-    case 23: value = 22; break;        /* neg --> sub.  */
-    case 25: value = 26; break;        /* cmp --> negs.  */
-    case 26: value = 24; break;        /* negs --> subs.  */
-    case 151: value = 150; break;      /* mov --> umov.  */
-    case 153: value = 152; break;      /* mov --> ins.  */
+    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 155: value = 154; break;      /* mov --> ins.  */
-    case 237: value = 236; break;      /* mvn --> not.  */
-    case 312: value = 311; break;      /* mov --> orr.  */
-    case 383: value = 382; break;      /* sxtl --> sshll.  */
-    case 385: value = 384; break;      /* sxtl2 --> sshll2.  */
-    case 407: value = 406; break;      /* uxtl --> ushll.  */
-    case 409: value = 408; break;      /* uxtl2 --> ushll2.  */
-    case 530: value = 529; break;      /* mov --> dup.  */
-    case 617: value = 616; break;      /* sxtw --> sxth.  */
-    case 616: value = 615; break;      /* sxth --> sxtb.  */
-    case 615: value = 618; break;      /* sxtb --> asr.  */
-    case 618: value = 614; break;      /* asr --> sbfx.  */
-    case 614: value = 613; break;      /* sbfx --> sbfiz.  */
-    case 613: value = 612; break;      /* sbfiz --> sbfm.  */
-    case 621: value = 622; break;      /* bfc --> bfxil.  */
-    case 622: value = 620; break;      /* bfxil --> bfi.  */
-    case 620: value = 619; break;      /* bfi --> bfm.  */
-    case 627: value = 626; break;      /* uxth --> uxtb.  */
-    case 626: value = 629; break;      /* uxtb --> lsr.  */
-    case 629: value = 628; break;      /* lsr --> lsl.  */
-    case 628: value = 625; break;      /* lsl --> ubfx.  */
-    case 625: value = 624; break;      /* ubfx --> ubfiz.  */
-    case 624: value = 623; break;      /* ubfiz --> ubfm.  */
-    case 659: value = 658; break;      /* cset --> cinc.  */
-    case 658: value = 657; break;      /* cinc --> csinc.  */
-    case 662: value = 661; break;      /* csetm --> cinv.  */
-    case 661: value = 660; break;      /* cinv --> csinv.  */
-    case 664: value = 663; break;      /* cneg --> csneg.  */
-    case 682: value = 683; break;      /* rev --> rev64.  */
-    case 708: value = 707; break;      /* lsl --> lslv.  */
-    case 710: value = 709; break;      /* lsr --> lsrv.  */
-    case 712: value = 711; break;      /* asr --> asrv.  */
-    case 714: value = 713; break;      /* ror --> rorv.  */
-    case 725: value = 724; break;      /* mul --> madd.  */
-    case 727: value = 726; break;      /* mneg --> msub.  */
-    case 729: value = 728; break;      /* smull --> smaddl.  */
-    case 731: value = 730; break;      /* smnegl --> smsubl.  */
-    case 734: value = 733; break;      /* umull --> umaddl.  */
-    case 736: value = 735; break;      /* umnegl --> umsubl.  */
-    case 747: value = 746; break;      /* ror --> extr.  */
-    case 960: value = 959; break;      /* bic --> and.  */
-    case 962: value = 961; break;      /* mov --> orr.  */
-    case 965: value = 964; break;      /* tst --> ands.  */
-    case 970: value = 969; break;      /* uxtw --> mov.  */
-    case 969: value = 968; break;      /* mov --> orr.  */
-    case 972: value = 971; break;      /* mvn --> orn.  */
-    case 976: value = 975; break;      /* tst --> ands.  */
-    case 1102: value = 1006; break;    /* staddb --> ldaddb.  */
-    case 1103: value = 1007; break;    /* staddh --> ldaddh.  */
-    case 1104: value = 1008; break;    /* stadd --> ldadd.  */
-    case 1105: value = 1010; break;    /* staddlb --> ldaddlb.  */
-    case 1106: value = 1013; break;    /* staddlh --> ldaddlh.  */
-    case 1107: value = 1016; break;    /* staddl --> ldaddl.  */
-    case 1108: value = 1018; break;    /* stclrb --> ldclrb.  */
-    case 1109: value = 1019; break;    /* stclrh --> ldclrh.  */
-    case 1110: value = 1020; break;    /* stclr --> ldclr.  */
-    case 1111: value = 1022; break;    /* stclrlb --> ldclrlb.  */
-    case 1112: value = 1025; break;    /* stclrlh --> ldclrlh.  */
-    case 1113: value = 1028; break;    /* stclrl --> ldclrl.  */
-    case 1114: value = 1030; break;    /* steorb --> ldeorb.  */
-    case 1115: value = 1031; break;    /* steorh --> ldeorh.  */
-    case 1116: value = 1032; break;    /* steor --> ldeor.  */
-    case 1117: value = 1034; break;    /* steorlb --> ldeorlb.  */
-    case 1118: value = 1037; break;    /* steorlh --> ldeorlh.  */
-    case 1119: value = 1040; break;    /* steorl --> ldeorl.  */
-    case 1120: value = 1042; break;    /* stsetb --> ldsetb.  */
-    case 1121: value = 1043; break;    /* stseth --> ldseth.  */
-    case 1122: value = 1044; break;    /* stset --> ldset.  */
-    case 1123: value = 1046; break;    /* stsetlb --> ldsetlb.  */
-    case 1124: value = 1049; break;    /* stsetlh --> ldsetlh.  */
-    case 1125: value = 1052; break;    /* stsetl --> ldsetl.  */
-    case 1126: value = 1054; break;    /* stsmaxb --> ldsmaxb.  */
-    case 1127: value = 1055; break;    /* stsmaxh --> ldsmaxh.  */
-    case 1128: value = 1056; break;    /* stsmax --> ldsmax.  */
-    case 1129: value = 1058; break;    /* stsmaxlb --> ldsmaxlb.  */
-    case 1130: value = 1061; break;    /* stsmaxlh --> ldsmaxlh.  */
-    case 1131: value = 1064; break;    /* stsmaxl --> ldsmaxl.  */
-    case 1132: value = 1066; break;    /* stsminb --> ldsminb.  */
-    case 1133: value = 1067; break;    /* stsminh --> ldsminh.  */
-    case 1134: value = 1068; break;    /* stsmin --> ldsmin.  */
-    case 1135: value = 1070; break;    /* stsminlb --> ldsminlb.  */
-    case 1136: value = 1073; break;    /* stsminlh --> ldsminlh.  */
-    case 1137: value = 1076; break;    /* stsminl --> ldsminl.  */
-    case 1138: value = 1078; break;    /* stumaxb --> ldumaxb.  */
-    case 1139: value = 1079; break;    /* stumaxh --> ldumaxh.  */
-    case 1140: value = 1080; break;    /* stumax --> ldumax.  */
-    case 1141: value = 1082; break;    /* stumaxlb --> ldumaxlb.  */
-    case 1142: value = 1085; break;    /* stumaxlh --> ldumaxlh.  */
-    case 1143: value = 1088; break;    /* stumaxl --> ldumaxl.  */
-    case 1144: value = 1090; break;    /* stuminb --> lduminb.  */
-    case 1145: value = 1091; break;    /* stuminh --> lduminh.  */
-    case 1146: value = 1092; break;    /* stumin --> ldumin.  */
-    case 1147: value = 1094; break;    /* stuminlb --> lduminlb.  */
-    case 1148: value = 1097; break;    /* stuminlh --> lduminlh.  */
-    case 1149: value = 1100; break;    /* stuminl --> lduminl.  */
-    case 1151: value = 1150; break;    /* mov --> movn.  */
-    case 1153: value = 1152; break;    /* mov --> movz.  */
-    case 1194: value = 1193; break;    /* autibsp --> autibz.  */
-    case 1193: value = 1192; break;    /* autibz --> autiasp.  */
-    case 1192: value = 1191; break;    /* autiasp --> autiaz.  */
-    case 1191: value = 1190; break;    /* autiaz --> pacibsp.  */
-    case 1190: value = 1189; break;    /* pacibsp --> pacibz.  */
-    case 1189: value = 1188; break;    /* pacibz --> paciasp.  */
-    case 1188: value = 1187; break;    /* paciasp --> paciaz.  */
-    case 1187: value = 1172; break;    /* paciaz --> psb.  */
-    case 1172: value = 1171; break;    /* psb --> esb.  */
-    case 1171: value = 1170; break;    /* esb --> autib1716.  */
-    case 1170: value = 1169; break;    /* autib1716 --> autia1716.  */
-    case 1169: value = 1168; break;    /* autia1716 --> pacib1716.  */
-    case 1168: value = 1167; break;    /* pacib1716 --> pacia1716.  */
-    case 1167: value = 1166; break;    /* pacia1716 --> xpaclri.  */
-    case 1166: value = 1165; break;    /* xpaclri --> sevl.  */
-    case 1165: value = 1164; break;    /* sevl --> sev.  */
-    case 1164: value = 1163; break;    /* sev --> wfi.  */
-    case 1163: value = 1162; break;    /* wfi --> wfe.  */
-    case 1162: value = 1161; break;    /* wfe --> yield.  */
-    case 1161: value = 1160; break;    /* yield --> csdb.  */
-    case 1160: value = 1159; break;    /* csdb --> nop.  */
-    case 1159: value = 1158; break;    /* nop --> hint.  */
-    case 1176: value = 1175; break;    /* pssbb --> ssbb.  */
-    case 1175: value = 1174; break;    /* ssbb --> dsb.  */
-    case 1183: value = 1182; break;    /* tlbi --> ic.  */
-    case 1182: value = 1181; break;    /* ic --> dc.  */
-    case 1181: value = 1180; break;    /* dc --> at.  */
-    case 1180: value = 1179; break;    /* at --> sys.  */
-    case 1992: value = 1242; break;    /* bic --> and.  */
-    case 1225: value = 1244; break;    /* mov --> and.  */
-    case 1229: value = 1245; break;    /* movs --> ands.  */
-    case 1993: value = 1280; break;    /* cmple --> cmpge.  */
-    case 1996: value = 1283; break;    /* cmplt --> cmpgt.  */
-    case 1994: value = 1285; break;    /* cmplo --> cmphi.  */
-    case 1995: value = 1288; break;    /* cmpls --> cmphs.  */
-    case 1222: value = 1310; break;    /* mov --> cpy.  */
-    case 1224: value = 1311; break;    /* mov --> cpy.  */
-    case 2003: value = 1227; break;    /* fmov --> mov.  */
-    case 1227: value = 1312; break;    /* mov --> cpy.  */
-    case 1217: value = 1324; break;    /* mov --> dup.  */
-    case 1219: value = 1216; break;    /* mov --> mov.  */
-    case 1216: value = 1325; break;    /* mov --> dup.  */
-    case 2002: value = 1221; break;    /* fmov --> mov.  */
-    case 1221: value = 1326; break;    /* mov --> dup.  */
-    case 1220: value = 1327; break;    /* mov --> dupm.  */
-    case 1997: value = 1329; break;    /* eon --> eor.  */
-    case 1230: value = 1331; break;    /* not --> eor.  */
-    case 1231: value = 1332; break;    /* nots --> eors.  */
-    case 1998: value = 1337; break;    /* facle --> facge.  */
-    case 1999: value = 1338; break;    /* faclt --> facgt.  */
-    case 2000: value = 1351; break;    /* fcmle --> fcmge.  */
-    case 2001: value = 1353; break;    /* fcmlt --> fcmgt.  */
-    case 1214: value = 1359; break;    /* fmov --> fcpy.  */
-    case 1213: value = 1382; break;    /* fmov --> fdup.  */
-    case 1215: value = 1713; break;    /* mov --> orr.  */
-    case 2004: value = 1714; break;    /* orn --> orr.  */
-    case 1218: value = 1716; break;    /* mov --> orr.  */
-    case 1228: value = 1717; break;    /* movs --> orrs.  */
-    case 1223: value = 1779; break;    /* mov --> sel.  */
-    case 1226: value = 1780; break;    /* mov --> sel.  */
+    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 758: value = 757; break;      /* ror --> extr.  */
+    case 991: value = 990; break;      /* bic --> and.  */
+    case 993: value = 992; break;      /* mov --> orr.  */
+    case 996: value = 995; break;      /* tst --> ands.  */
+    case 1001: value = 1000; break;    /* uxtw --> mov.  */
+    case 1000: value = 999; break;     /* mov --> orr.  */
+    case 1003: value = 1002; break;    /* mvn --> orn.  */
+    case 1007: value = 1006; break;    /* tst --> ands.  */
+    case 1133: value = 1037; break;    /* staddb --> ldaddb.  */
+    case 1134: value = 1038; break;    /* staddh --> ldaddh.  */
+    case 1135: value = 1039; break;    /* stadd --> ldadd.  */
+    case 1136: value = 1041; break;    /* staddlb --> ldaddlb.  */
+    case 1137: value = 1044; break;    /* staddlh --> ldaddlh.  */
+    case 1138: value = 1047; break;    /* staddl --> ldaddl.  */
+    case 1139: value = 1049; break;    /* stclrb --> ldclrb.  */
+    case 1140: value = 1050; break;    /* stclrh --> ldclrh.  */
+    case 1141: value = 1051; break;    /* stclr --> ldclr.  */
+    case 1142: value = 1053; break;    /* stclrlb --> ldclrlb.  */
+    case 1143: value = 1056; break;    /* stclrlh --> ldclrlh.  */
+    case 1144: value = 1059; break;    /* stclrl --> ldclrl.  */
+    case 1145: value = 1061; break;    /* steorb --> ldeorb.  */
+    case 1146: value = 1062; break;    /* steorh --> ldeorh.  */
+    case 1147: value = 1063; break;    /* steor --> ldeor.  */
+    case 1148: value = 1065; break;    /* steorlb --> ldeorlb.  */
+    case 1149: value = 1068; break;    /* steorlh --> ldeorlh.  */
+    case 1150: value = 1071; break;    /* steorl --> ldeorl.  */
+    case 1151: value = 1073; break;    /* stsetb --> ldsetb.  */
+    case 1152: value = 1074; break;    /* stseth --> ldseth.  */
+    case 1153: value = 1075; break;    /* stset --> ldset.  */
+    case 1154: value = 1077; break;    /* stsetlb --> ldsetlb.  */
+    case 1155: value = 1080; break;    /* stsetlh --> ldsetlh.  */
+    case 1156: value = 1083; break;    /* stsetl --> ldsetl.  */
+    case 1157: value = 1085; break;    /* stsmaxb --> ldsmaxb.  */
+    case 1158: value = 1086; break;    /* stsmaxh --> ldsmaxh.  */
+    case 1159: value = 1087; break;    /* stsmax --> ldsmax.  */
+    case 1160: value = 1089; break;    /* stsmaxlb --> ldsmaxlb.  */
+    case 1161: value = 1092; break;    /* stsmaxlh --> ldsmaxlh.  */
+    case 1162: value = 1095; break;    /* stsmaxl --> ldsmaxl.  */
+    case 1163: value = 1097; break;    /* stsminb --> ldsminb.  */
+    case 1164: value = 1098; break;    /* stsminh --> ldsminh.  */
+    case 1165: value = 1099; break;    /* stsmin --> ldsmin.  */
+    case 1166: value = 1101; break;    /* stsminlb --> ldsminlb.  */
+    case 1167: value = 1104; break;    /* stsminlh --> ldsminlh.  */
+    case 1168: value = 1107; break;    /* stsminl --> ldsminl.  */
+    case 1169: value = 1109; break;    /* stumaxb --> ldumaxb.  */
+    case 1170: value = 1110; break;    /* stumaxh --> ldumaxh.  */
+    case 1171: value = 1111; break;    /* stumax --> ldumax.  */
+    case 1172: value = 1113; break;    /* stumaxlb --> ldumaxlb.  */
+    case 1173: value = 1116; break;    /* stumaxlh --> ldumaxlh.  */
+    case 1174: value = 1119; break;    /* stumaxl --> ldumaxl.  */
+    case 1175: value = 1121; break;    /* stuminb --> lduminb.  */
+    case 1176: value = 1122; break;    /* stuminh --> lduminh.  */
+    case 1177: value = 1123; break;    /* stumin --> ldumin.  */
+    case 1178: value = 1125; break;    /* stuminlb --> lduminlb.  */
+    case 1179: value = 1128; break;    /* stuminlh --> lduminlh.  */
+    case 1180: value = 1131; break;    /* stuminl --> lduminl.  */
+    case 1182: value = 1181; break;    /* mov --> movn.  */
+    case 1184: value = 1183; break;    /* mov --> movz.  */
+    case 1234: value = 1233; break;    /* autibsp --> autibz.  */
+    case 1233: value = 1232; break;    /* autibz --> autiasp.  */
+    case 1232: value = 1231; break;    /* autiasp --> autiaz.  */
+    case 1231: value = 1230; break;    /* autiaz --> pacibsp.  */
+    case 1230: value = 1229; break;    /* pacibsp --> pacibz.  */
+    case 1229: value = 1228; break;    /* pacibz --> paciasp.  */
+    case 1228: value = 1227; break;    /* paciasp --> paciaz.  */
+    case 1227: value = 1208; break;    /* paciaz --> psb.  */
+    case 1208: value = 1207; break;    /* psb --> esb.  */
+    case 1207: value = 1206; break;    /* esb --> autib1716.  */
+    case 1206: value = 1205; break;    /* autib1716 --> autia1716.  */
+    case 1205: value = 1204; break;    /* autia1716 --> pacib1716.  */
+    case 1204: value = 1203; break;    /* pacib1716 --> pacia1716.  */
+    case 1203: value = 1202; break;    /* pacia1716 --> xpaclri.  */
+    case 1202: value = 1201; break;    /* xpaclri --> sevl.  */
+    case 1201: value = 1200; break;    /* sevl --> sev.  */
+    case 1200: value = 1199; break;    /* sev --> wfi.  */
+    case 1199: value = 1198; break;    /* wfi --> wfe.  */
+    case 1198: value = 1197; break;    /* wfe --> yield.  */
+    case 1197: value = 1196; break;    /* yield --> bti.  */
+    case 1196: value = 1195; break;    /* bti --> csdb.  */
+    case 1195: value = 1194; break;    /* csdb --> nop.  */
+    case 1194: value = 1193; break;    /* nop --> hint.  */
+    case 1212: value = 1211; break;    /* pssbb --> ssbb.  */
+    case 1211: value = 1210; break;    /* ssbb --> dsb.  */
+    case 1223: value = 1222; break;    /* cpp --> dvp.  */
+    case 1222: value = 1221; break;    /* dvp --> cfp.  */
+    case 1221: value = 1220; break;    /* cfp --> tlbi.  */
+    case 1220: value = 1219; break;    /* tlbi --> ic.  */
+    case 1219: value = 1218; break;    /* ic --> dc.  */
+    case 1218: value = 1217; break;    /* dc --> at.  */
+    case 1217: value = 1216; break;    /* at --> sys.  */
+    case 2032: value = 1282; break;    /* bic --> and.  */
+    case 1265: value = 1284; break;    /* mov --> and.  */
+    case 1269: value = 1285; break;    /* movs --> ands.  */
+    case 2033: value = 1320; break;    /* cmple --> cmpge.  */
+    case 2036: value = 1323; break;    /* cmplt --> cmpgt.  */
+    case 2034: value = 1325; break;    /* cmplo --> cmphi.  */
+    case 2035: value = 1328; break;    /* cmpls --> cmphs.  */
+    case 1262: value = 1350; break;    /* mov --> cpy.  */
+    case 1264: value = 1351; break;    /* mov --> cpy.  */
+    case 2043: value = 1267; break;    /* fmov --> mov.  */
+    case 1267: value = 1352; break;    /* mov --> cpy.  */
+    case 1257: value = 1364; break;    /* mov --> dup.  */
+    case 1259: value = 1256; break;    /* mov --> mov.  */
+    case 1256: value = 1365; break;    /* mov --> dup.  */
+    case 2042: value = 1261; break;    /* fmov --> mov.  */
+    case 1261: value = 1366; break;    /* mov --> dup.  */
+    case 1260: value = 1367; break;    /* mov --> dupm.  */
+    case 2037: value = 1369; break;    /* eon --> eor.  */
+    case 1270: value = 1371; break;    /* not --> eor.  */
+    case 1271: value = 1372; break;    /* nots --> eors.  */
+    case 2038: value = 1377; break;    /* facle --> facge.  */
+    case 2039: value = 1378; break;    /* faclt --> facgt.  */
+    case 2040: value = 1391; break;    /* fcmle --> fcmge.  */
+    case 2041: value = 1393; break;    /* fcmlt --> fcmgt.  */
+    case 1254: value = 1399; break;    /* fmov --> fcpy.  */
+    case 1253: value = 1422; break;    /* fmov --> fdup.  */
+    case 1255: value = 1753; break;    /* mov --> orr.  */
+    case 2044: value = 1754; break;    /* orn --> orr.  */
+    case 1258: value = 1756; break;    /* mov --> orr.  */
+    case 1268: value = 1757; break;    /* movs --> orrs.  */
+    case 1263: value = 1819; break;    /* mov --> sel.  */
+    case 1266: value = 1820; break;    /* mov --> sel.  */
     default: return NULL;
     }
 
     default: return NULL;
     }
 
@@ -19728,14 +23751,14 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 5:
     case 6:
     case 7:
     case 5:
     case 6:
     case 7:
-    case 9:
+    case 8:
     case 10:
     case 11:
     case 10:
     case 11:
-    case 15:
+    case 12:
     case 16:
     case 17:
     case 18:
     case 16:
     case 17:
     case 18:
-    case 20:
+    case 19:
     case 21:
     case 22:
     case 23:
     case 21:
     case 22:
     case 23:
@@ -19745,57 +23768,57 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 27:
     case 28:
     case 29:
     case 27:
     case 28:
     case 29:
-    case 153:
-    case 154:
-    case 155:
-    case 156:
-    case 157:
-    case 158:
-    case 159:
-    case 160:
-    case 161:
-    case 162:
-    case 175:
-    case 176:
-    case 177:
-    case 178:
-    case 179:
-    case 180:
-    case 181:
-    case 182:
-    case 183:
+    case 30:
+    case 163:
+    case 164:
+    case 165:
+    case 166:
+    case 167:
+    case 168:
+    case 169:
+    case 170:
+    case 171:
+    case 172:
     case 187:
     case 187:
+    case 188:
+    case 189:
     case 190:
     case 190:
+    case 191:
+    case 192:
+    case 193:
+    case 194:
+    case 195:
+    case 201:
+    case 204:
       return aarch64_ext_regno (self, info, code, inst, errors);
       return aarch64_ext_regno (self, info, code, inst, errors);
-    case 8:
+    case 9:
       return aarch64_ext_regrt_sysins (self, info, code, inst, errors);
       return aarch64_ext_regrt_sysins (self, info, code, inst, errors);
-    case 12:
-      return aarch64_ext_regno_pair (self, info, code, inst, errors);
     case 13:
     case 13:
-      return aarch64_ext_reg_extended (self, info, code, inst, errors);
+      return aarch64_ext_regno_pair (self, info, code, inst, errors);
     case 14:
     case 14:
+      return aarch64_ext_reg_extended (self, info, code, inst, errors);
+    case 15:
       return aarch64_ext_reg_shifted (self, info, code, inst, errors);
       return aarch64_ext_reg_shifted (self, info, code, inst, errors);
-    case 19:
+    case 20:
       return aarch64_ext_ft (self, info, code, inst, errors);
       return aarch64_ext_ft (self, info, code, inst, errors);
-    case 30:
     case 31:
     case 32:
     case 33:
     case 31:
     case 32:
     case 33:
-    case 192:
-      return aarch64_ext_reglane (self, info, code, inst, errors);
     case 34:
     case 34:
-      return aarch64_ext_reglist (self, info, code, inst, errors);
+    case 207:
+      return aarch64_ext_reglane (self, info, code, inst, errors);
     case 35:
     case 35:
-      return aarch64_ext_ldst_reglist (self, info, code, inst, errors);
+      return aarch64_ext_reglist (self, info, code, inst, errors);
     case 36:
     case 36:
-      return aarch64_ext_ldst_reglist_r (self, info, code, inst, errors);
+      return aarch64_ext_ldst_reglist (self, info, code, inst, errors);
     case 37:
     case 37:
-      return aarch64_ext_ldst_elemlist (self, info, code, inst, errors);
+      return aarch64_ext_ldst_reglist_r (self, info, code, inst, errors);
     case 38:
     case 38:
+      return aarch64_ext_ldst_elemlist (self, info, code, inst, errors);
     case 39:
     case 40:
     case 41:
     case 39:
     case 40:
     case 41:
-    case 51:
+    case 42:
     case 52:
     case 53:
     case 54:
     case 52:
     case 53:
     case 54:
@@ -19809,116 +23832,117 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 62:
     case 63:
     case 64:
     case 62:
     case 63:
     case 64:
-    case 75:
-    case 76:
-    case 77:
+    case 65:
+    case 66:
+    case 67:
     case 78:
     case 79:
     case 78:
     case 79:
-    case 150:
-    case 152:
-    case 167:
-    case 168:
-    case 169:
-    case 170:
-    case 171:
-    case 172:
-    case 173:
-    case 174:
+    case 80:
+    case 81:
+    case 82:
+    case 160:
+    case 162:
+    case 179:
+    case 180:
+    case 181:
+    case 182:
+    case 183:
+    case 184:
+    case 185:
+    case 186:
+    case 206:
       return aarch64_ext_imm (self, info, code, inst, errors);
       return aarch64_ext_imm (self, info, code, inst, errors);
-    case 42:
     case 43:
     case 43:
-      return aarch64_ext_advsimd_imm_shift (self, info, code, inst, errors);
     case 44:
     case 44:
+      return aarch64_ext_advsimd_imm_shift (self, info, code, inst, errors);
     case 45:
     case 46:
     case 45:
     case 46:
-      return aarch64_ext_advsimd_imm_modified (self, info, code, inst, errors);
     case 47:
     case 47:
+      return aarch64_ext_advsimd_imm_modified (self, info, code, inst, errors);
+    case 48:
       return aarch64_ext_shll_imm (self, info, code, inst, errors);
       return aarch64_ext_shll_imm (self, info, code, inst, errors);
-    case 50:
-    case 141:
+    case 51:
+    case 150:
       return aarch64_ext_fpimm (self, info, code, inst, errors);
       return aarch64_ext_fpimm (self, info, code, inst, errors);
-    case 65:
-    case 148:
+    case 68:
+    case 158:
       return aarch64_ext_limm (self, info, code, inst, errors);
       return aarch64_ext_limm (self, info, code, inst, errors);
-    case 66:
+    case 69:
       return aarch64_ext_aimm (self, info, code, inst, errors);
       return aarch64_ext_aimm (self, info, code, inst, errors);
-    case 67:
-      return aarch64_ext_imm_half (self, info, code, inst, errors);
-    case 68:
-      return aarch64_ext_fbits (self, info, code, inst, errors);
     case 70:
     case 70:
+      return aarch64_ext_imm_half (self, info, code, inst, errors);
     case 71:
     case 71:
-    case 146:
-      return aarch64_ext_imm_rotate2 (self, info, code, inst, errors);
-    case 72:
-    case 145:
-      return aarch64_ext_imm_rotate1 (self, info, code, inst, errors);
+      return aarch64_ext_fbits (self, info, code, inst, errors);
     case 73:
     case 74:
     case 73:
     case 74:
+    case 155:
+      return aarch64_ext_imm_rotate2 (self, info, code, inst, errors);
+    case 75:
+    case 154:
+    case 156:
+      return aarch64_ext_imm_rotate1 (self, info, code, inst, errors);
+    case 76:
+    case 77:
       return aarch64_ext_cond (self, info, code, inst, errors);
       return aarch64_ext_cond (self, info, code, inst, errors);
-    case 80:
-    case 87:
-      return aarch64_ext_addr_simple (self, info, code, inst, errors);
-    case 81:
-      return aarch64_ext_addr_regoff (self, info, code, inst, errors);
-    case 82:
     case 83:
     case 83:
+    case 92:
+      return aarch64_ext_addr_simple (self, info, code, inst, errors);
     case 84:
     case 84:
-      return aarch64_ext_addr_simm (self, info, code, inst, errors);
+      return aarch64_ext_addr_regoff (self, info, code, inst, errors);
     case 85:
     case 85:
-      return aarch64_ext_addr_simm10 (self, info, code, inst, errors);
     case 86:
     case 86:
-      return aarch64_ext_addr_uimm12 (self, info, code, inst, errors);
-    case 88:
-      return aarch64_ext_addr_offset (self, info, code, inst, errors);
+    case 87:
     case 89:
     case 89:
-      return aarch64_ext_simd_addr_post (self, info, code, inst, errors);
-    case 90:
-      return aarch64_ext_sysreg (self, info, code, inst, errors);
     case 91:
     case 91:
-      return aarch64_ext_pstatefield (self, info, code, inst, errors);
-    case 92:
+      return aarch64_ext_addr_simm (self, info, code, inst, errors);
+    case 88:
+      return aarch64_ext_addr_simm10 (self, info, code, inst, errors);
+    case 90:
+      return aarch64_ext_addr_uimm12 (self, info, code, inst, errors);
     case 93:
     case 93:
+      return aarch64_ext_addr_offset (self, info, code, inst, errors);
     case 94:
     case 94:
+      return aarch64_ext_simd_addr_post (self, info, code, inst, errors);
     case 95:
     case 95:
-      return aarch64_ext_sysins_op (self, info, code, inst, errors);
+      return aarch64_ext_sysreg (self, info, code, inst, errors);
     case 96:
     case 96:
+      return aarch64_ext_pstatefield (self, info, code, inst, errors);
     case 97:
     case 97:
-      return aarch64_ext_barrier (self, info, code, inst, errors);
     case 98:
     case 98:
-      return aarch64_ext_prfop (self, info, code, inst, errors);
     case 99:
     case 99:
-      return aarch64_ext_hint (self, info, code, inst, errors);
     case 100:
     case 100:
-      return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst, errors);
     case 101:
     case 101:
+      return aarch64_ext_sysins_op (self, info, code, inst, errors);
     case 102:
     case 103:
     case 102:
     case 103:
+      return aarch64_ext_barrier (self, info, code, inst, errors);
     case 104:
     case 104:
-      return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst, errors);
+      return aarch64_ext_prfop (self, info, code, inst, errors);
     case 105:
     case 105:
-      return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst, errors);
     case 106:
     case 106:
-      return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst, errors);
+      return aarch64_ext_hint (self, info, code, inst, errors);
     case 107:
     case 108:
     case 107:
     case 108:
+      return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst, errors);
     case 109:
     case 110:
     case 109:
     case 110:
-      return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst, errors);
     case 111:
     case 112:
     case 111:
     case 112:
+      return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst, errors);
     case 113:
     case 113:
+      return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst, errors);
     case 114:
     case 114:
+      return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst, errors);
     case 115:
     case 116:
     case 117:
     case 118:
     case 115:
     case 116:
     case 117:
     case 118:
+      return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst, errors);
     case 119:
     case 120:
     case 121:
     case 122:
     case 123:
     case 119:
     case 120:
     case 121:
     case 122:
     case 123:
-      return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst, errors);
     case 124:
     case 125:
     case 126:
     case 124:
     case 125:
     case 126:
@@ -19927,48 +23951,62 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 129:
     case 130:
     case 131:
     case 129:
     case 130:
     case 131:
-      return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst, errors);
     case 132:
     case 132:
+      return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst, errors);
     case 133:
     case 134:
     case 135:
     case 133:
     case 134:
     case 135:
-      return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst, errors);
     case 136:
     case 136:
-      return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst, errors);
     case 137:
     case 137:
-      return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst, errors);
     case 138:
     case 138:
-      return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst, errors);
     case 139:
     case 139:
-      return aarch64_ext_sve_aimm (self, info, code, inst, errors);
     case 140:
     case 140:
-      return aarch64_ext_sve_asimm (self, info, code, inst, errors);
+      return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst, errors);
+    case 141:
     case 142:
     case 142:
-      return aarch64_ext_sve_float_half_one (self, info, code, inst, errors);
     case 143:
     case 143:
-      return aarch64_ext_sve_float_half_two (self, info, code, inst, errors);
     case 144:
     case 144:
-      return aarch64_ext_sve_float_zero_one (self, info, code, inst, errors);
+      return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst, errors);
+    case 145:
+      return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst, errors);
+    case 146:
+      return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst, errors);
     case 147:
     case 147:
-      return aarch64_ext_inv_limm (self, info, code, inst, errors);
+      return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst, errors);
+    case 148:
+      return aarch64_ext_sve_aimm (self, info, code, inst, errors);
     case 149:
     case 149:
-      return aarch64_ext_sve_limm_mov (self, info, code, inst, errors);
+      return aarch64_ext_sve_asimm (self, info, code, inst, errors);
     case 151:
     case 151:
+      return aarch64_ext_sve_float_half_one (self, info, code, inst, errors);
+    case 152:
+      return aarch64_ext_sve_float_half_two (self, info, code, inst, errors);
+    case 153:
+      return aarch64_ext_sve_float_zero_one (self, info, code, inst, errors);
+    case 157:
+      return aarch64_ext_inv_limm (self, info, code, inst, errors);
+    case 159:
+      return aarch64_ext_sve_limm_mov (self, info, code, inst, errors);
+    case 161:
       return aarch64_ext_sve_scale (self, info, code, inst, errors);
       return aarch64_ext_sve_scale (self, info, code, inst, errors);
-    case 163:
-    case 164:
+    case 173:
+    case 174:
+    case 175:
       return aarch64_ext_sve_shlimm (self, info, code, inst, errors);
       return aarch64_ext_sve_shlimm (self, info, code, inst, errors);
-    case 165:
-    case 166:
+    case 176:
+    case 177:
+    case 178:
       return aarch64_ext_sve_shrimm (self, info, code, inst, errors);
       return aarch64_ext_sve_shrimm (self, info, code, inst, errors);
-    case 184:
-    case 185:
-    case 186:
+    case 196:
+    case 197:
+    case 198:
+    case 199:
+    case 200:
       return aarch64_ext_sve_quad_index (self, info, code, inst, errors);
       return aarch64_ext_sve_quad_index (self, info, code, inst, errors);
-    case 188:
+    case 202:
       return aarch64_ext_sve_index (self, info, code, inst, errors);
       return aarch64_ext_sve_index (self, info, code, inst, errors);
-    case 189:
-    case 191:
+    case 203:
+    case 205:
       return aarch64_ext_sve_reglist (self, info, code, inst, errors);
     default: assert (0); abort ();
     }
       return aarch64_ext_sve_reglist (self, info, code, inst, errors);
     default: assert (0); abort ();
     }
This page took 0.681183 seconds and 4 git commands to generate.