[AArch64] Add dot product support for AArch64 to binutils
[deliverable/binutils-gdb.git] / opcodes / aarch64-dis-2.c
index a6391b048e1914288b56d57456414f0e3ac0d421..bbe066929e7a12b50d4e7c008e48adf750448760 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated by aarch64-gen.  Do not edit!  */
-/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2017 Free Software Foundation, Inc.
    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
                          xxxxxxxxxxxxxxxxxxxxxxxx0000xxx0
                          adr.  */
-                      return 1152;
+                      return 1155;
                     }
                   else
                     {
@@ -48,7 +48,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx0000xxx1
                          adrp.  */
-                      return 1153;
+                      return 1156;
                     }
                 }
               else
@@ -115,7 +115,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx000x0010000
                                                  stxrb.  */
-                                              return 907;
+                                              return 910;
                                             }
                                           else
                                             {
@@ -123,7 +123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx000x0010010
                                                  stxrh.  */
-                                              return 913;
+                                              return 916;
                                             }
                                         }
                                       else
@@ -132,7 +132,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx000x00100x1
                                              stxr.  */
-                                          return 919;
+                                          return 922;
                                         }
                                     }
                                   else
@@ -143,7 +143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx100x00100x0
                                              casp.  */
-                                          return 987;
+                                          return 990;
                                         }
                                       else
                                         {
@@ -151,7 +151,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx100x00100x1
                                              stxp.  */
-                                          return 921;
+                                          return 924;
                                         }
                                     }
                                 }
@@ -167,7 +167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx000x0010000
                                                  stlxrb.  */
-                                              return 908;
+                                              return 911;
                                             }
                                           else
                                             {
@@ -175,7 +175,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx000x0010010
                                                  stlxrh.  */
-                                              return 914;
+                                              return 917;
                                             }
                                         }
                                       else
@@ -184,7 +184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx000x00100x1
                                              stlxr.  */
-                                          return 920;
+                                          return 923;
                                         }
                                     }
                                   else
@@ -195,7 +195,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx100x00100x0
                                              caspl.  */
-                                          return 989;
+                                          return 992;
                                         }
                                       else
                                         {
@@ -203,7 +203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx100x00100x1
                                              stlxp.  */
-                                          return 922;
+                                          return 925;
                                         }
                                     }
                                 }
@@ -214,7 +214,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxx00x00101xx
                                  stnp.  */
-                              return 938;
+                              return 941;
                             }
                         }
                       else
@@ -231,7 +231,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx001x00100x0
                                              stllrb.  */
-                                          return 936;
+                                          return 939;
                                         }
                                       else
                                         {
@@ -239,7 +239,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx001x00100x1
                                              stllr.  */
-                                          return 935;
+                                          return 938;
                                         }
                                     }
                                   else
@@ -252,7 +252,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx101x0010000
                                                  casb.  */
-                                              return 975;
+                                              return 978;
                                             }
                                           else
                                             {
@@ -260,7 +260,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx101x0010010
                                                  cash.  */
-                                              return 976;
+                                              return 979;
                                             }
                                         }
                                       else
@@ -269,7 +269,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx101x00100x1
                                              cas.  */
-                                          return 977;
+                                          return 980;
                                         }
                                     }
                                 }
@@ -285,7 +285,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx001x0010000
                                                  stlrb.  */
-                                              return 911;
+                                              return 914;
                                             }
                                           else
                                             {
@@ -293,7 +293,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx001x0010010
                                                  stlrh.  */
-                                              return 917;
+                                              return 920;
                                             }
                                         }
                                       else
@@ -302,7 +302,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx001x00100x1
                                              stlr.  */
-                                          return 927;
+                                          return 930;
                                         }
                                     }
                                   else
@@ -315,7 +315,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx101x0010000
                                                  caslb.  */
-                                              return 979;
+                                              return 982;
                                             }
                                           else
                                             {
@@ -323,7 +323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx101x0010010
                                                  caslh.  */
-                                              return 982;
+                                              return 985;
                                             }
                                         }
                                       else
@@ -332,7 +332,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx101x00100x1
                                              casl.  */
-                                          return 985;
+                                          return 988;
                                         }
                                     }
                                 }
@@ -343,7 +343,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxx01x00101xx
                                  stp.  */
-                              return 947;
+                              return 950;
                             }
                         }
                     }
@@ -365,7 +365,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx010x0010000
                                                  ldxrb.  */
-                                              return 909;
+                                              return 912;
                                             }
                                           else
                                             {
@@ -373,7 +373,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx010x0010010
                                                  ldxrh.  */
-                                              return 915;
+                                              return 918;
                                             }
                                         }
                                       else
@@ -382,7 +382,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx010x00100x1
                                              ldxr.  */
-                                          return 923;
+                                          return 926;
                                         }
                                     }
                                   else
@@ -393,7 +393,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx110x00100x0
                                              caspa.  */
-                                          return 988;
+                                          return 991;
                                         }
                                       else
                                         {
@@ -401,7 +401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx110x00100x1
                                              ldxp.  */
-                                          return 925;
+                                          return 928;
                                         }
                                     }
                                 }
@@ -417,7 +417,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx010x0010000
                                                  ldaxrb.  */
-                                              return 910;
+                                              return 913;
                                             }
                                           else
                                             {
@@ -425,7 +425,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx010x0010010
                                                  ldaxrh.  */
-                                              return 916;
+                                              return 919;
                                             }
                                         }
                                       else
@@ -434,7 +434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx010x00100x1
                                              ldaxr.  */
-                                          return 924;
+                                          return 927;
                                         }
                                     }
                                   else
@@ -445,7 +445,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx110x00100x0
                                              caspal.  */
-                                          return 990;
+                                          return 993;
                                         }
                                       else
                                         {
@@ -453,7 +453,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx110x00100x1
                                              ldaxp.  */
-                                          return 926;
+                                          return 929;
                                         }
                                     }
                                 }
@@ -466,7 +466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10x001010x
                                      ldnp.  */
-                                  return 939;
+                                  return 942;
                                 }
                               else
                                 {
@@ -474,7 +474,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10x001011x
                                      ldpsw.  */
-                                  return 946;
+                                  return 949;
                                 }
                             }
                         }
@@ -494,7 +494,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx011x0010000
                                                  ldlarb.  */
-                                              return 933;
+                                              return 936;
                                             }
                                           else
                                             {
@@ -502,7 +502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx011x0010010
                                                  ldlarh.  */
-                                              return 934;
+                                              return 937;
                                             }
                                         }
                                       else
@@ -511,7 +511,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx011x00100x1
                                              ldlar.  */
-                                          return 932;
+                                          return 935;
                                         }
                                     }
                                   else
@@ -524,7 +524,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx111x0010000
                                                  casab.  */
-                                              return 978;
+                                              return 981;
                                             }
                                           else
                                             {
@@ -532,7 +532,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx111x0010010
                                                  casah.  */
-                                              return 981;
+                                              return 984;
                                             }
                                         }
                                       else
@@ -541,7 +541,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx111x00100x1
                                              casa.  */
-                                          return 984;
+                                          return 987;
                                         }
                                     }
                                 }
@@ -557,7 +557,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx011x0010000
                                                  ldarb.  */
-                                              return 912;
+                                              return 915;
                                             }
                                           else
                                             {
@@ -565,7 +565,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx011x0010010
                                                  ldarh.  */
-                                              return 918;
+                                              return 921;
                                             }
                                         }
                                       else
@@ -574,7 +574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx011x00100x1
                                              ldar.  */
-                                          return 928;
+                                          return 931;
                                         }
                                     }
                                   else
@@ -587,7 +587,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx111x0010000
                                                  casalb.  */
-                                              return 980;
+                                              return 983;
                                             }
                                           else
                                             {
@@ -595,7 +595,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx111x0010010
                                                  casalh.  */
-                                              return 983;
+                                              return 986;
                                             }
                                         }
                                       else
@@ -604,7 +604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx111x00100x1
                                              casal.  */
-                                          return 986;
+                                          return 989;
                                         }
                                     }
                                 }
@@ -617,7 +617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx11x001010x
                                      ldp.  */
-                                  return 948;
+                                  return 951;
                                 }
                               else
                                 {
@@ -625,7 +625,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx11x001011x
                                      ldpsw.  */
-                                  return 951;
+                                  return 954;
                                 }
                             }
                         }
@@ -643,7 +643,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxxx000110x0
                                  ldr.  */
-                              return 952;
+                              return 955;
                             }
                           else
                             {
@@ -653,7 +653,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxxx00011001
                                      ldrsw.  */
-                                  return 954;
+                                  return 957;
                                 }
                               else
                                 {
@@ -661,7 +661,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxxx00011011
                                      prfm.  */
-                                  return 955;
+                                  return 958;
                                 }
                             }
                         }
@@ -685,7 +685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00xxxxxxxxx00000011100
                                                          sturb.  */
-                                                      return 893;
+                                                      return 896;
                                                     }
                                                   else
                                                     {
@@ -693,7 +693,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00xxxxxxxxx00000011110
                                                          sturh.  */
-                                                      return 898;
+                                                      return 901;
                                                     }
                                                 }
                                               else
@@ -702,7 +702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx000000111x1
                                                      stur.  */
-                                                  return 901;
+                                                  return 904;
                                                 }
                                             }
                                           else
@@ -715,7 +715,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00xxxxxxxxx01000011100
                                                          ldurb.  */
-                                                      return 894;
+                                                      return 897;
                                                     }
                                                   else
                                                     {
@@ -723,7 +723,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00xxxxxxxxx01000011110
                                                          ldurh.  */
-                                                      return 899;
+                                                      return 902;
                                                     }
                                                 }
                                               else
@@ -732,7 +732,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx010000111x1
                                                      ldur.  */
-                                                  return 902;
+                                                  return 905;
                                                 }
                                             }
                                         }
@@ -746,7 +746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx0x100011100
                                                      ldursb.  */
-                                                  return 895;
+                                                  return 898;
                                                 }
                                               else
                                                 {
@@ -754,7 +754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx0x100011101
                                                      ldursw.  */
-                                                  return 903;
+                                                  return 906;
                                                 }
                                             }
                                           else
@@ -765,7 +765,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx0x100011110
                                                      ldursh.  */
-                                                  return 900;
+                                                  return 903;
                                                 }
                                               else
                                                 {
@@ -773,7 +773,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx0x100011111
                                                      prfum.  */
-                                                  return 904;
+                                                  return 907;
                                                 }
                                             }
                                         }
@@ -800,7 +800,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx10000011100
                                                                          ldaddb.  */
-                                                                      return 1003;
+                                                                      return 1006;
                                                                     }
                                                                   else
                                                                     {
@@ -808,7 +808,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx10000011110
                                                                          ldaddh.  */
-                                                                      return 1004;
+                                                                      return 1007;
                                                                     }
                                                                 }
                                                               else
@@ -817,7 +817,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000000xxxxx100000111x1
                                                                      ldadd.  */
-                                                                  return 1005;
+                                                                  return 1008;
                                                                 }
                                                             }
                                                           else
@@ -830,7 +830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx10100011100
                                                                          ldaddab.  */
-                                                                      return 1006;
+                                                                      return 1009;
                                                                     }
                                                                   else
                                                                     {
@@ -838,7 +838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx10100011110
                                                                          ldaddah.  */
-                                                                      return 1009;
+                                                                      return 1012;
                                                                     }
                                                                 }
                                                               else
@@ -847,7 +847,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000000xxxxx101000111x1
                                                                      ldadda.  */
-                                                                  return 1012;
+                                                                  return 1015;
                                                                 }
                                                             }
                                                         }
@@ -863,7 +863,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx11000011100
                                                                          ldaddlb.  */
-                                                                      return 1007;
+                                                                      return 1010;
                                                                     }
                                                                   else
                                                                     {
@@ -871,7 +871,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx11000011110
                                                                          ldaddlh.  */
-                                                                      return 1010;
+                                                                      return 1013;
                                                                     }
                                                                 }
                                                               else
@@ -880,7 +880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000000xxxxx110000111x1
                                                                      ldaddl.  */
-                                                                  return 1013;
+                                                                  return 1016;
                                                                 }
                                                             }
                                                           else
@@ -893,7 +893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx11100011100
                                                                          ldaddalb.  */
-                                                                      return 1008;
+                                                                      return 1011;
                                                                     }
                                                                   else
                                                                     {
@@ -901,7 +901,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx11100011110
                                                                          ldaddalh.  */
-                                                                      return 1011;
+                                                                      return 1014;
                                                                     }
                                                                 }
                                                               else
@@ -910,7 +910,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000000xxxxx111000111x1
                                                                      ldaddal.  */
-                                                                  return 1014;
+                                                                  return 1017;
                                                                 }
                                                             }
                                                         }
@@ -929,7 +929,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx10000011100
                                                                          swpb.  */
-                                                                      return 991;
+                                                                      return 994;
                                                                     }
                                                                   else
                                                                     {
@@ -937,7 +937,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx10000011110
                                                                          swph.  */
-                                                                      return 992;
+                                                                      return 995;
                                                                     }
                                                                 }
                                                               else
@@ -946,7 +946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000001xxxxx100000111x1
                                                                      swp.  */
-                                                                  return 993;
+                                                                  return 996;
                                                                 }
                                                             }
                                                           else
@@ -959,7 +959,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx10100011100
                                                                          swpab.  */
-                                                                      return 994;
+                                                                      return 997;
                                                                     }
                                                                   else
                                                                     {
@@ -967,7 +967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx10100011110
                                                                          swpah.  */
-                                                                      return 997;
+                                                                      return 1000;
                                                                     }
                                                                 }
                                                               else
@@ -976,7 +976,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000001xxxxx101000111x1
                                                                      swpa.  */
-                                                                  return 1000;
+                                                                  return 1003;
                                                                 }
                                                             }
                                                         }
@@ -992,7 +992,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx11000011100
                                                                          swplb.  */
-                                                                      return 995;
+                                                                      return 998;
                                                                     }
                                                                   else
                                                                     {
@@ -1000,7 +1000,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx11000011110
                                                                          swplh.  */
-                                                                      return 998;
+                                                                      return 1001;
                                                                     }
                                                                 }
                                                               else
@@ -1009,7 +1009,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000001xxxxx110000111x1
                                                                      swpl.  */
-                                                                  return 1001;
+                                                                  return 1004;
                                                                 }
                                                             }
                                                           else
@@ -1022,7 +1022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx11100011100
                                                                          swpalb.  */
-                                                                      return 996;
+                                                                      return 999;
                                                                     }
                                                                   else
                                                                     {
@@ -1030,7 +1030,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx11100011110
                                                                          swpalh.  */
-                                                                      return 999;
+                                                                      return 1002;
                                                                     }
                                                                 }
                                                               else
@@ -1039,7 +1039,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000001xxxxx111000111x1
                                                                      swpal.  */
-                                                                  return 1002;
+                                                                  return 1005;
                                                                 }
                                                             }
                                                         }
@@ -1061,7 +1061,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000010xxxxx10000011100
                                                                          ldsmaxb.  */
-                                                                      return 1051;
+                                                                      return 1054;
                                                                     }
                                                                   else
                                                                     {
@@ -1069,7 +1069,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000010xxxxx10000011110
                                                                          ldsmaxh.  */
-                                                                      return 1052;
+                                                                      return 1055;
                                                                     }
                                                                 }
                                                               else
@@ -1078,7 +1078,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000010xxxxx100000111x1
                                                                      ldsmax.  */
-                                                                  return 1053;
+                                                                  return 1056;
                                                                 }
                                                             }
                                                           else
@@ -1091,7 +1091,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000010xxxxx10100011100
                                                                          ldsmaxab.  */
-                                                                      return 1054;
+                                                                      return 1057;
                                                                     }
                                                                   else
                                                                     {
@@ -1099,7 +1099,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000010xxxxx10100011110
                                                                          ldsmaxah.  */
-                                                                      return 1057;
+                                                                      return 1060;
                                                                     }
                                                                 }
                                                               else
@@ -1108,7 +1108,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000010xxxxx101000111x1
                                                                      ldsmaxa.  */
-                                                                  return 1060;
+                                                                  return 1063;
                                                                 }
                                                             }
                                                         }
@@ -1124,7 +1124,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000010xxxxx11000011100
                                                                          ldsmaxlb.  */
-                                                                      return 1055;
+                                                                      return 1058;
                                                                     }
                                                                   else
                                                                     {
@@ -1132,7 +1132,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000010xxxxx11000011110
                                                                          ldsmaxlh.  */
-                                                                      return 1058;
+                                                                      return 1061;
                                                                     }
                                                                 }
                                                               else
@@ -1141,7 +1141,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000010xxxxx110000111x1
                                                                      ldsmaxl.  */
-                                                                  return 1061;
+                                                                  return 1064;
                                                                 }
                                                             }
                                                           else
@@ -1154,7 +1154,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000010xxxxx11100011100
                                                                          ldsmaxalb.  */
-                                                                      return 1056;
+                                                                      return 1059;
                                                                     }
                                                                   else
                                                                     {
@@ -1162,7 +1162,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000010xxxxx11100011110
                                                                          ldsmaxalh.  */
-                                                                      return 1059;
+                                                                      return 1062;
                                                                     }
                                                                 }
                                                               else
@@ -1171,7 +1171,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000010xxxxx111000111x1
                                                                      ldsmaxal.  */
-                                                                  return 1062;
+                                                                  return 1065;
                                                                 }
                                                             }
                                                         }
@@ -1186,7 +1186,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011xxxxx1xx00011100
                                                                  ldaprb.  */
-                                                              return 929;
+                                                              return 932;
                                                             }
                                                           else
                                                             {
@@ -1194,7 +1194,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011xxxxx1xx00011110
                                                                  ldaprh.  */
-                                                              return 930;
+                                                              return 933;
                                                             }
                                                         }
                                                       else
@@ -1203,7 +1203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000011xxxxx1xx000111x1
                                                              ldapr.  */
-                                                          return 931;
+                                                          return 934;
                                                         }
                                                     }
                                                 }
@@ -1224,7 +1224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx10000011100
                                                                      ldeorb.  */
-                                                                  return 1027;
+                                                                  return 1030;
                                                                 }
                                                               else
                                                                 {
@@ -1232,7 +1232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx10000011110
                                                                      ldeorh.  */
-                                                                  return 1028;
+                                                                  return 1031;
                                                                 }
                                                             }
                                                           else
@@ -1241,7 +1241,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00010xxxxxx100000111x1
                                                                  ldeor.  */
-                                                              return 1029;
+                                                              return 1032;
                                                             }
                                                         }
                                                       else
@@ -1254,7 +1254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx10100011100
                                                                      ldeorab.  */
-                                                                  return 1030;
+                                                                  return 1033;
                                                                 }
                                                               else
                                                                 {
@@ -1262,7 +1262,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx10100011110
                                                                      ldeorah.  */
-                                                                  return 1033;
+                                                                  return 1036;
                                                                 }
                                                             }
                                                           else
@@ -1271,7 +1271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00010xxxxxx101000111x1
                                                                  ldeora.  */
-                                                              return 1036;
+                                                              return 1039;
                                                             }
                                                         }
                                                     }
@@ -1287,7 +1287,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx11000011100
                                                                      ldeorlb.  */
-                                                                  return 1031;
+                                                                  return 1034;
                                                                 }
                                                               else
                                                                 {
@@ -1295,7 +1295,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx11000011110
                                                                      ldeorlh.  */
-                                                                  return 1034;
+                                                                  return 1037;
                                                                 }
                                                             }
                                                           else
@@ -1304,7 +1304,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00010xxxxxx110000111x1
                                                                  ldeorl.  */
-                                                              return 1037;
+                                                              return 1040;
                                                             }
                                                         }
                                                       else
@@ -1317,7 +1317,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx11100011100
                                                                      ldeoralb.  */
-                                                                  return 1032;
+                                                                  return 1035;
                                                                 }
                                                               else
                                                                 {
@@ -1325,7 +1325,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx11100011110
                                                                      ldeoralh.  */
-                                                                  return 1035;
+                                                                  return 1038;
                                                                 }
                                                             }
                                                           else
@@ -1334,7 +1334,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00010xxxxxx111000111x1
                                                                  ldeoral.  */
-                                                              return 1038;
+                                                              return 1041;
                                                             }
                                                         }
                                                     }
@@ -1353,7 +1353,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx10000011100
                                                                      ldumaxb.  */
-                                                                  return 1075;
+                                                                  return 1078;
                                                                 }
                                                               else
                                                                 {
@@ -1361,7 +1361,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx10000011110
                                                                      ldumaxh.  */
-                                                                  return 1076;
+                                                                  return 1079;
                                                                 }
                                                             }
                                                           else
@@ -1370,7 +1370,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00011xxxxxx100000111x1
                                                                  ldumax.  */
-                                                              return 1077;
+                                                              return 1080;
                                                             }
                                                         }
                                                       else
@@ -1383,7 +1383,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx10100011100
                                                                      ldumaxab.  */
-                                                                  return 1078;
+                                                                  return 1081;
                                                                 }
                                                               else
                                                                 {
@@ -1391,7 +1391,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx10100011110
                                                                      ldumaxah.  */
-                                                                  return 1081;
+                                                                  return 1084;
                                                                 }
                                                             }
                                                           else
@@ -1400,7 +1400,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00011xxxxxx101000111x1
                                                                  ldumaxa.  */
-                                                              return 1084;
+                                                              return 1087;
                                                             }
                                                         }
                                                     }
@@ -1416,7 +1416,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx11000011100
                                                                      ldumaxlb.  */
-                                                                  return 1079;
+                                                                  return 1082;
                                                                 }
                                                               else
                                                                 {
@@ -1424,7 +1424,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx11000011110
                                                                      ldumaxlh.  */
-                                                                  return 1082;
+                                                                  return 1085;
                                                                 }
                                                             }
                                                           else
@@ -1433,7 +1433,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00011xxxxxx110000111x1
                                                                  ldumaxl.  */
-                                                              return 1085;
+                                                              return 1088;
                                                             }
                                                         }
                                                       else
@@ -1446,7 +1446,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx11100011100
                                                                      ldumaxalb.  */
-                                                                  return 1080;
+                                                                  return 1083;
                                                                 }
                                                               else
                                                                 {
@@ -1454,7 +1454,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx11100011110
                                                                      ldumaxalh.  */
-                                                                  return 1083;
+                                                                  return 1086;
                                                                 }
                                                             }
                                                           else
@@ -1463,7 +1463,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00011xxxxxx111000111x1
                                                                  ldumaxal.  */
-                                                              return 1086;
+                                                              return 1089;
                                                             }
                                                         }
                                                     }
@@ -1488,7 +1488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx10000011100
                                                                      ldclrb.  */
-                                                                  return 1015;
+                                                                  return 1018;
                                                                 }
                                                               else
                                                                 {
@@ -1496,7 +1496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx10000011110
                                                                      ldclrh.  */
-                                                                  return 1016;
+                                                                  return 1019;
                                                                 }
                                                             }
                                                           else
@@ -1505,7 +1505,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00100xxxxxx100000111x1
                                                                  ldclr.  */
-                                                              return 1017;
+                                                              return 1020;
                                                             }
                                                         }
                                                       else
@@ -1518,7 +1518,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx10100011100
                                                                      ldclrab.  */
-                                                                  return 1018;
+                                                                  return 1021;
                                                                 }
                                                               else
                                                                 {
@@ -1526,7 +1526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx10100011110
                                                                      ldclrah.  */
-                                                                  return 1021;
+                                                                  return 1024;
                                                                 }
                                                             }
                                                           else
@@ -1535,7 +1535,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00100xxxxxx101000111x1
                                                                  ldclra.  */
-                                                              return 1024;
+                                                              return 1027;
                                                             }
                                                         }
                                                     }
@@ -1551,7 +1551,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx11000011100
                                                                      ldclrlb.  */
-                                                                  return 1019;
+                                                                  return 1022;
                                                                 }
                                                               else
                                                                 {
@@ -1559,7 +1559,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx11000011110
                                                                      ldclrlh.  */
-                                                                  return 1022;
+                                                                  return 1025;
                                                                 }
                                                             }
                                                           else
@@ -1568,7 +1568,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00100xxxxxx110000111x1
                                                                  ldclrl.  */
-                                                              return 1025;
+                                                              return 1028;
                                                             }
                                                         }
                                                       else
@@ -1581,7 +1581,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx11100011100
                                                                      ldclralb.  */
-                                                                  return 1020;
+                                                                  return 1023;
                                                                 }
                                                               else
                                                                 {
@@ -1589,7 +1589,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx11100011110
                                                                      ldclralh.  */
-                                                                  return 1023;
+                                                                  return 1026;
                                                                 }
                                                             }
                                                           else
@@ -1598,7 +1598,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00100xxxxxx111000111x1
                                                                  ldclral.  */
-                                                              return 1026;
+                                                              return 1029;
                                                             }
                                                         }
                                                     }
@@ -1617,7 +1617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx10000011100
                                                                      ldsminb.  */
-                                                                  return 1063;
+                                                                  return 1066;
                                                                 }
                                                               else
                                                                 {
@@ -1625,7 +1625,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx10000011110
                                                                      ldsminh.  */
-                                                                  return 1064;
+                                                                  return 1067;
                                                                 }
                                                             }
                                                           else
@@ -1634,7 +1634,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00101xxxxxx100000111x1
                                                                  ldsmin.  */
-                                                              return 1065;
+                                                              return 1068;
                                                             }
                                                         }
                                                       else
@@ -1647,7 +1647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx10100011100
                                                                      ldsminab.  */
-                                                                  return 1066;
+                                                                  return 1069;
                                                                 }
                                                               else
                                                                 {
@@ -1655,7 +1655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx10100011110
                                                                      ldsminah.  */
-                                                                  return 1069;
+                                                                  return 1072;
                                                                 }
                                                             }
                                                           else
@@ -1664,7 +1664,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00101xxxxxx101000111x1
                                                                  ldsmina.  */
-                                                              return 1072;
+                                                              return 1075;
                                                             }
                                                         }
                                                     }
@@ -1680,7 +1680,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx11000011100
                                                                      ldsminlb.  */
-                                                                  return 1067;
+                                                                  return 1070;
                                                                 }
                                                               else
                                                                 {
@@ -1688,7 +1688,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx11000011110
                                                                      ldsminlh.  */
-                                                                  return 1070;
+                                                                  return 1073;
                                                                 }
                                                             }
                                                           else
@@ -1697,7 +1697,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00101xxxxxx110000111x1
                                                                  ldsminl.  */
-                                                              return 1073;
+                                                              return 1076;
                                                             }
                                                         }
                                                       else
@@ -1710,7 +1710,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx11100011100
                                                                      ldsminalb.  */
-                                                                  return 1068;
+                                                                  return 1071;
                                                                 }
                                                               else
                                                                 {
@@ -1718,7 +1718,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx11100011110
                                                                      ldsminalh.  */
-                                                                  return 1071;
+                                                                  return 1074;
                                                                 }
                                                             }
                                                           else
@@ -1727,7 +1727,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00101xxxxxx111000111x1
                                                                  ldsminal.  */
-                                                              return 1074;
+                                                              return 1077;
                                                             }
                                                         }
                                                     }
@@ -1749,7 +1749,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx10000011100
                                                                      ldsetb.  */
-                                                                  return 1039;
+                                                                  return 1042;
                                                                 }
                                                               else
                                                                 {
@@ -1757,7 +1757,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx10000011110
                                                                      ldseth.  */
-                                                                  return 1040;
+                                                                  return 1043;
                                                                 }
                                                             }
                                                           else
@@ -1766,7 +1766,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00110xxxxxx100000111x1
                                                                  ldset.  */
-                                                              return 1041;
+                                                              return 1044;
                                                             }
                                                         }
                                                       else
@@ -1779,7 +1779,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx10100011100
                                                                      ldsetab.  */
-                                                                  return 1042;
+                                                                  return 1045;
                                                                 }
                                                               else
                                                                 {
@@ -1787,7 +1787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx10100011110
                                                                      ldsetah.  */
-                                                                  return 1045;
+                                                                  return 1048;
                                                                 }
                                                             }
                                                           else
@@ -1796,7 +1796,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00110xxxxxx101000111x1
                                                                  ldseta.  */
-                                                              return 1048;
+                                                              return 1051;
                                                             }
                                                         }
                                                     }
@@ -1812,7 +1812,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx11000011100
                                                                      ldsetlb.  */
-                                                                  return 1043;
+                                                                  return 1046;
                                                                 }
                                                               else
                                                                 {
@@ -1820,7 +1820,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx11000011110
                                                                      ldsetlh.  */
-                                                                  return 1046;
+                                                                  return 1049;
                                                                 }
                                                             }
                                                           else
@@ -1829,7 +1829,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00110xxxxxx110000111x1
                                                                  ldsetl.  */
-                                                              return 1049;
+                                                              return 1052;
                                                             }
                                                         }
                                                       else
@@ -1842,7 +1842,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx11100011100
                                                                      ldsetalb.  */
-                                                                  return 1044;
+                                                                  return 1047;
                                                                 }
                                                               else
                                                                 {
@@ -1850,7 +1850,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx11100011110
                                                                      ldsetalh.  */
-                                                                  return 1047;
+                                                                  return 1050;
                                                                 }
                                                             }
                                                           else
@@ -1859,7 +1859,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00110xxxxxx111000111x1
                                                                  ldsetal.  */
-                                                              return 1050;
+                                                              return 1053;
                                                             }
                                                         }
                                                     }
@@ -1878,7 +1878,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx10000011100
                                                                      lduminb.  */
-                                                                  return 1087;
+                                                                  return 1090;
                                                                 }
                                                               else
                                                                 {
@@ -1886,7 +1886,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx10000011110
                                                                      lduminh.  */
-                                                                  return 1088;
+                                                                  return 1091;
                                                                 }
                                                             }
                                                           else
@@ -1895,7 +1895,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00111xxxxxx100000111x1
                                                                  ldumin.  */
-                                                              return 1089;
+                                                              return 1092;
                                                             }
                                                         }
                                                       else
@@ -1908,7 +1908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx10100011100
                                                                      lduminab.  */
-                                                                  return 1090;
+                                                                  return 1093;
                                                                 }
                                                               else
                                                                 {
@@ -1916,7 +1916,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx10100011110
                                                                      lduminah.  */
-                                                                  return 1093;
+                                                                  return 1096;
                                                                 }
                                                             }
                                                           else
@@ -1925,7 +1925,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00111xxxxxx101000111x1
                                                                  ldumina.  */
-                                                              return 1096;
+                                                              return 1099;
                                                             }
                                                         }
                                                     }
@@ -1941,7 +1941,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx11000011100
                                                                      lduminlb.  */
-                                                                  return 1091;
+                                                                  return 1094;
                                                                 }
                                                               else
                                                                 {
@@ -1949,7 +1949,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx11000011110
                                                                      lduminlh.  */
-                                                                  return 1094;
+                                                                  return 1097;
                                                                 }
                                                             }
                                                           else
@@ -1958,7 +1958,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00111xxxxxx110000111x1
                                                                  lduminl.  */
-                                                              return 1097;
+                                                              return 1100;
                                                             }
                                                         }
                                                       else
@@ -1971,7 +1971,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx11100011100
                                                                      lduminalb.  */
-                                                                  return 1092;
+                                                                  return 1095;
                                                                 }
                                                               else
                                                                 {
@@ -1979,7 +1979,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx11100011110
                                                                      lduminalh.  */
-                                                                  return 1095;
+                                                                  return 1098;
                                                                 }
                                                             }
                                                           else
@@ -1988,7 +1988,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00111xxxxxx111000111x1
                                                                  lduminal.  */
-                                                              return 1098;
+                                                              return 1101;
                                                             }
                                                         }
                                                     }
@@ -2013,7 +2013,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx00000011100
                                                          sttrb.  */
-                                                      return 884;
+                                                      return 887;
                                                     }
                                                   else
                                                     {
@@ -2021,7 +2021,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx00000011110
                                                          sttrh.  */
-                                                      return 887;
+                                                      return 890;
                                                     }
                                                 }
                                               else
@@ -2030,7 +2030,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx000000111x1
                                                      sttr.  */
-                                                  return 890;
+                                                  return 893;
                                                 }
                                             }
                                           else
@@ -2043,7 +2043,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx01000011100
                                                          ldtrb.  */
-                                                      return 885;
+                                                      return 888;
                                                     }
                                                   else
                                                     {
@@ -2051,7 +2051,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx01000011110
                                                          ldtrh.  */
-                                                      return 888;
+                                                      return 891;
                                                     }
                                                 }
                                               else
@@ -2060,7 +2060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx010000111x1
                                                      ldtr.  */
-                                                  return 891;
+                                                  return 894;
                                                 }
                                             }
                                         }
@@ -2074,7 +2074,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx0x100011100
                                                      ldtrsb.  */
-                                                  return 886;
+                                                  return 889;
                                                 }
                                               else
                                                 {
@@ -2082,7 +2082,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx0x100011101
                                                      ldtrsw.  */
-                                                  return 892;
+                                                  return 895;
                                                 }
                                             }
                                           else
@@ -2091,7 +2091,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx01xxxxxxxxx0x10001111x
                                                  ldtrsh.  */
-                                              return 889;
+                                              return 892;
                                             }
                                         }
                                     }
@@ -2109,7 +2109,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx10000011100
                                                          strb.  */
-                                                      return 872;
+                                                      return 875;
                                                     }
                                                   else
                                                     {
@@ -2117,7 +2117,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx10000011110
                                                          strh.  */
-                                                      return 877;
+                                                      return 880;
                                                     }
                                                 }
                                               else
@@ -2126,7 +2126,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx100000111x1
                                                      str.  */
-                                                  return 880;
+                                                  return 883;
                                                 }
                                             }
                                           else
@@ -2139,7 +2139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx11000011100
                                                          ldrb.  */
-                                                      return 873;
+                                                      return 876;
                                                     }
                                                   else
                                                     {
@@ -2147,7 +2147,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx11000011110
                                                          ldrh.  */
-                                                      return 878;
+                                                      return 881;
                                                     }
                                                 }
                                               else
@@ -2156,7 +2156,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx110000111x1
                                                      ldr.  */
-                                                  return 881;
+                                                  return 884;
                                                 }
                                             }
                                         }
@@ -2170,7 +2170,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx1x100011100
                                                      ldrsb.  */
-                                                  return 874;
+                                                  return 877;
                                                 }
                                               else
                                                 {
@@ -2178,7 +2178,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx1x100011101
                                                      ldrsw.  */
-                                                  return 882;
+                                                  return 885;
                                                 }
                                             }
                                           else
@@ -2189,7 +2189,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx1x100011110
                                                      ldrsh.  */
-                                                  return 879;
+                                                  return 882;
                                                 }
                                               else
                                                 {
@@ -2197,7 +2197,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx1x100011111
                                                      prfm.  */
-                                                  return 883;
+                                                  return 886;
                                                 }
                                             }
                                         }
@@ -2220,7 +2220,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1xxxxxxxxxx00000011100
                                                      strb.  */
-                                                  return 849;
+                                                  return 852;
                                                 }
                                               else
                                                 {
@@ -2228,7 +2228,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1xxxxxxxxxx00000011110
                                                      strh.  */
-                                                  return 854;
+                                                  return 857;
                                                 }
                                             }
                                           else
@@ -2237,7 +2237,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1xxxxxxxxxx000000111x1
                                                  str.  */
-                                              return 857;
+                                              return 860;
                                             }
                                         }
                                       else
@@ -2250,7 +2250,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1xxxxxxxxxx01000011100
                                                      ldrb.  */
-                                                  return 850;
+                                                  return 853;
                                                 }
                                               else
                                                 {
@@ -2258,7 +2258,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1xxxxxxxxxx01000011110
                                                      ldrh.  */
-                                                  return 855;
+                                                  return 858;
                                                 }
                                             }
                                           else
@@ -2267,7 +2267,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1xxxxxxxxxx010000111x1
                                                  ldr.  */
-                                              return 858;
+                                              return 861;
                                             }
                                         }
                                     }
@@ -2281,7 +2281,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1xxxxxxxxxx0x100011100
                                                  ldrsb.  */
-                                              return 851;
+                                              return 854;
                                             }
                                           else
                                             {
@@ -2289,7 +2289,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1xxxxxxxxxx0x100011101
                                                  ldrsw.  */
-                                              return 859;
+                                              return 862;
                                             }
                                         }
                                       else
@@ -2298,7 +2298,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx1xxxxxxxxxx0x10001111x
                                              ldrsh.  */
-                                          return 856;
+                                          return 859;
                                         }
                                     }
                                 }
@@ -2310,7 +2310,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx1xxxxxxxxxx1x0000111xx
                                          ldraa.  */
-                                      return 905;
+                                      return 908;
                                     }
                                   else
                                     {
@@ -2318,7 +2318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx1xxxxxxxxxx1x1000111xx
                                          ldrab.  */
-                                      return 906;
+                                      return 909;
                                     }
                                 }
                             }
@@ -2338,7 +2338,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx0010011x00
                                          strb.  */
-                                      return 860;
+                                      return 863;
                                     }
                                   else
                                     {
@@ -2346,7 +2346,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx0010011x10
                                          strh.  */
-                                      return 865;
+                                      return 868;
                                     }
                                 }
                               else
@@ -2355,7 +2355,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx0010011xx1
                                      str.  */
-                                  return 868;
+                                  return 871;
                                 }
                             }
                           else
@@ -2368,7 +2368,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx1010011x00
                                          ldrb.  */
-                                      return 861;
+                                      return 864;
                                     }
                                   else
                                     {
@@ -2376,7 +2376,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx1010011x10
                                          ldrh.  */
-                                      return 866;
+                                      return 869;
                                     }
                                 }
                               else
@@ -2385,7 +2385,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx1010011xx1
                                      ldr.  */
-                                  return 869;
+                                  return 872;
                                 }
                             }
                         }
@@ -2399,7 +2399,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxx110011x00
                                      ldrsb.  */
-                                  return 862;
+                                  return 865;
                                 }
                               else
                                 {
@@ -2407,7 +2407,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxx110011x01
                                      ldrsw.  */
-                                  return 870;
+                                  return 873;
                                 }
                             }
                           else
@@ -2418,7 +2418,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxx110011x10
                                      ldrsh.  */
-                                  return 867;
+                                  return 870;
                                 }
                               else
                                 {
@@ -2426,7 +2426,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxx110011x11
                                      prfm.  */
-                                  return 871;
+                                  return 874;
                                 }
                             }
                         }
@@ -2450,7 +2450,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx00100x00x
                                  and.  */
-                              return 956;
+                              return 959;
                             }
                           else
                             {
@@ -2458,7 +2458,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx00100x01x
                                  eor.  */
-                              return 960;
+                              return 963;
                             }
                         }
                       else
@@ -2469,7 +2469,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx00100x10x
                                  orr.  */
-                              return 958;
+                              return 961;
                             }
                           else
                             {
@@ -2477,7 +2477,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx00100x11x
                                  ands.  */
-                              return 961;
+                              return 964;
                             }
                         }
                     }
@@ -2491,7 +2491,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx10100x00x
                                  movn.  */
-                              return 1147;
+                              return 1150;
                             }
                           else
                             {
@@ -2499,7 +2499,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx10100x01x
                                  movz.  */
-                              return 1149;
+                              return 1152;
                             }
                         }
                       else
@@ -2508,7 +2508,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxx10100x1xx
                              movk.  */
-                          return 1151;
+                          return 1154;
                         }
                     }
                 }
@@ -2526,7 +2526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx0101000x
                                      and.  */
-                                  return 963;
+                                  return 966;
                                 }
                               else
                                 {
@@ -2534,7 +2534,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx0101001x
                                      eor.  */
-                                  return 970;
+                                  return 973;
                                 }
                             }
                           else
@@ -2545,7 +2545,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx0101010x
                                      orr.  */
-                                  return 965;
+                                  return 968;
                                 }
                               else
                                 {
@@ -2553,7 +2553,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx0101011x
                                      ands.  */
-                                  return 972;
+                                  return 975;
                                 }
                             }
                         }
@@ -2614,7 +2614,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxx00101011x0x
                                                  csel.  */
-                                              return 653;
+                                              return 656;
                                             }
                                           else
                                             {
@@ -2622,7 +2622,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxx00101011x1x
                                                  csinv.  */
-                                              return 657;
+                                              return 660;
                                             }
                                         }
                                     }
@@ -2636,7 +2636,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxx01001011x0x
                                                  ccmn.  */
-                                              return 651;
+                                              return 654;
                                             }
                                           else
                                             {
@@ -2644,7 +2644,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxx01001011x1x
                                                  ccmp.  */
-                                              return 652;
+                                              return 655;
                                             }
                                         }
                                       else
@@ -2661,7 +2661,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx00000x0xxxx01101011xxx
                                                              rbit.  */
-                                                          return 676;
+                                                          return 679;
                                                         }
                                                       else
                                                         {
@@ -2669,7 +2669,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx00000x1xxxx01101011xxx
                                                              pacia.  */
-                                                          return 684;
+                                                          return 687;
                                                         }
                                                     }
                                                   else
@@ -2680,7 +2680,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx00001xxxxxx01101011x0x
                                                              crc32b.  */
-                                                          return 713;
+                                                          return 716;
                                                         }
                                                       else
                                                         {
@@ -2688,7 +2688,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx00001xxxxxx01101011x1x
                                                              xpaci.  */
-                                                          return 700;
+                                                          return 703;
                                                         }
                                                     }
                                                 }
@@ -2700,7 +2700,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx0001xxxxxxx01101011x0x
                                                          lslv.  */
-                                                      return 704;
+                                                      return 707;
                                                     }
                                                   else
                                                     {
@@ -2708,7 +2708,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx0001xxxxxxx01101011x1x
                                                          paciza.  */
-                                                      return 692;
+                                                      return 695;
                                                     }
                                                 }
                                             }
@@ -2724,7 +2724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx00100x0xxxx01101011xxx
                                                              clz.  */
-                                                          return 681;
+                                                          return 684;
                                                         }
                                                       else
                                                         {
@@ -2732,7 +2732,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx00100x1xxxx01101011xxx
                                                              autia.  */
-                                                          return 688;
+                                                          return 691;
                                                         }
                                                     }
                                                   else
@@ -2741,7 +2741,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00101xxxxxx01101011xxx
                                                          crc32cb.  */
-                                                      return 717;
+                                                      return 720;
                                                     }
                                                 }
                                               else
@@ -2752,7 +2752,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx0011xxxxxxx01101011x0x
                                                          pacga.  */
-                                                      return 712;
+                                                      return 715;
                                                     }
                                                   else
                                                     {
@@ -2760,7 +2760,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx0011xxxxxxx01101011x1x
                                                          autiza.  */
-                                                      return 696;
+                                                      return 699;
                                                     }
                                                 }
                                             }
@@ -2777,7 +2777,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx01xxxxxxxxx0x001011x0x
                                              ccmn.  */
-                                          return 649;
+                                          return 652;
                                         }
                                       else
                                         {
@@ -2785,7 +2785,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx01xxxxxxxxx0x001011x1x
                                              ccmp.  */
-                                          return 650;
+                                          return 653;
                                         }
                                     }
                                   else
@@ -2802,7 +2802,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01000xxxxxx0x101011x0x
                                                          udiv.  */
-                                                      return 702;
+                                                      return 705;
                                                     }
                                                   else
                                                     {
@@ -2814,7 +2814,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx01000x0xxxx0x101011x10
                                                                  rev.  */
-                                                              return 678;
+                                                              return 681;
                                                             }
                                                           else
                                                             {
@@ -2822,7 +2822,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx01000x0xxxx0x101011x11
                                                                  rev32.  */
-                                                              return 683;
+                                                              return 686;
                                                             }
                                                         }
                                                       else
@@ -2831,7 +2831,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx01000x1xxxx0x101011x1x
                                                              pacda.  */
-                                                          return 686;
+                                                          return 689;
                                                         }
                                                     }
                                                 }
@@ -2841,7 +2841,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01001xxxxxx0x101011xxx
                                                      crc32w.  */
-                                                  return 715;
+                                                  return 718;
                                                 }
                                             }
                                           else
@@ -2852,7 +2852,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0101xxxxxxx0x101011x0x
                                                      asrv.  */
-                                                  return 708;
+                                                  return 711;
                                                 }
                                               else
                                                 {
@@ -2860,7 +2860,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0101xxxxxxx0x101011x1x
                                                      pacdza.  */
-                                                  return 694;
+                                                  return 697;
                                                 }
                                             }
                                         }
@@ -2874,7 +2874,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01100xxxxxx0x101011xxx
                                                      autda.  */
-                                                  return 690;
+                                                  return 693;
                                                 }
                                               else
                                                 {
@@ -2882,7 +2882,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01101xxxxxx0x101011xxx
                                                      crc32cw.  */
-                                                  return 719;
+                                                  return 722;
                                                 }
                                             }
                                           else
@@ -2891,7 +2891,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0111xxxxxxx0x101011xxx
                                                  autdza.  */
-                                              return 698;
+                                              return 701;
                                             }
                                         }
                                     }
@@ -2909,7 +2909,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx10xxxxxxxxx00x01011x0x
                                              csinc.  */
-                                          return 654;
+                                          return 657;
                                         }
                                       else
                                         {
@@ -2917,7 +2917,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx10xxxxxxxxx00x01011x1x
                                              csneg.  */
-                                          return 660;
+                                          return 663;
                                         }
                                     }
                                   else
@@ -2934,7 +2934,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx10000x0xxxx01x01011xxx
                                                          rev16.  */
-                                                      return 677;
+                                                      return 680;
                                                     }
                                                   else
                                                     {
@@ -2942,7 +2942,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx10000x1xxxx01x01011xxx
                                                          pacib.  */
-                                                      return 685;
+                                                      return 688;
                                                     }
                                                 }
                                               else
@@ -2953,7 +2953,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx10001xxxxxx01x01011x0x
                                                          crc32h.  */
-                                                      return 714;
+                                                      return 717;
                                                     }
                                                   else
                                                     {
@@ -2961,7 +2961,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx10001xxxxxx01x01011x1x
                                                          xpacd.  */
-                                                      return 701;
+                                                      return 704;
                                                     }
                                                 }
                                             }
@@ -2973,7 +2973,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1001xxxxxxx01x01011x0x
                                                      lsrv.  */
-                                                  return 706;
+                                                  return 709;
                                                 }
                                               else
                                                 {
@@ -2981,7 +2981,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1001xxxxxxx01x01011x1x
                                                      pacizb.  */
-                                                  return 693;
+                                                  return 696;
                                                 }
                                             }
                                         }
@@ -2997,7 +2997,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx10100x0xxxx01x01011xxx
                                                          cls.  */
-                                                      return 682;
+                                                      return 685;
                                                     }
                                                   else
                                                     {
@@ -3005,7 +3005,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx10100x1xxxx01x01011xxx
                                                          autib.  */
-                                                      return 689;
+                                                      return 692;
                                                     }
                                                 }
                                               else
@@ -3014,7 +3014,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx10101xxxxxx01x01011xxx
                                                      crc32ch.  */
-                                                  return 718;
+                                                  return 721;
                                                 }
                                             }
                                           else
@@ -3023,7 +3023,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1011xxxxxxx01x01011xxx
                                                  autizb.  */
-                                              return 697;
+                                              return 700;
                                             }
                                         }
                                     }
@@ -3042,7 +3042,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx11000xxxxxx0xx01011x0x
                                                      sdiv.  */
-                                                  return 703;
+                                                  return 706;
                                                 }
                                               else
                                                 {
@@ -3052,7 +3052,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11000x0xxxx0xx01011x1x
                                                          rev.  */
-                                                      return 679;
+                                                      return 682;
                                                     }
                                                   else
                                                     {
@@ -3060,7 +3060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11000x1xxxx0xx01011x1x
                                                          pacdb.  */
-                                                      return 687;
+                                                      return 690;
                                                     }
                                                 }
                                             }
@@ -3070,7 +3070,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx11001xxxxxx0xx01011xxx
                                                  crc32x.  */
-                                              return 716;
+                                              return 719;
                                             }
                                         }
                                       else
@@ -3081,7 +3081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1101xxxxxxx0xx01011x0x
                                                  rorv.  */
-                                              return 710;
+                                              return 713;
                                             }
                                           else
                                             {
@@ -3089,7 +3089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1101xxxxxxx0xx01011x1x
                                                  pacdzb.  */
-                                              return 695;
+                                              return 698;
                                             }
                                         }
                                     }
@@ -3103,7 +3103,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx11100xxxxxx0xx01011xxx
                                                  autdb.  */
-                                              return 691;
+                                              return 694;
                                             }
                                           else
                                             {
@@ -3111,7 +3111,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx11101xxxxxx0xx01011xxx
                                                  crc32cx.  */
-                                              return 720;
+                                              return 723;
                                             }
                                         }
                                       else
@@ -3120,7 +3120,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx1111xxxxxxx0xx01011xxx
                                              autdzb.  */
-                                          return 699;
+                                          return 702;
                                         }
                                     }
                                 }
@@ -3137,7 +3137,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxx1xx0101x00x
                                  bic.  */
-                              return 964;
+                              return 967;
                             }
                           else
                             {
@@ -3145,7 +3145,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxx1xx0101x01x
                                  eon.  */
-                              return 971;
+                              return 974;
                             }
                         }
                       else
@@ -3156,7 +3156,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxx1xx0101x10x
                                  orn.  */
-                              return 968;
+                              return 971;
                             }
                           else
                             {
@@ -3164,7 +3164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxx1xx0101x11x
                                  bics.  */
-                              return 974;
+                              return 977;
                             }
                         }
                     }
@@ -3184,7 +3184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx01100x00x
                                  sbfm.  */
-                              return 609;
+                              return 612;
                             }
                           else
                             {
@@ -3192,7 +3192,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx01100x01x
                                  ubfm.  */
-                              return 620;
+                              return 623;
                             }
                         }
                       else
@@ -3201,7 +3201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxx01100x1xx
                              bfm.  */
-                          return 616;
+                          return 619;
                         }
                     }
                   else
@@ -3210,7 +3210,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxx11100xxxx
                          extr.  */
-                      return 743;
+                      return 746;
                     }
                 }
               else
@@ -3268,7 +3268,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxx0xxxxx00x11011xxx
                                      madd.  */
-                                  return 721;
+                                  return 724;
                                 }
                               else
                                 {
@@ -3278,7 +3278,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx0xxxxx01011011xxx
                                          smulh.  */
-                                      return 729;
+                                      return 732;
                                     }
                                   else
                                     {
@@ -3286,7 +3286,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx0xxxxx01111011xxx
                                          umulh.  */
-                                      return 734;
+                                      return 737;
                                     }
                                 }
                             }
@@ -3296,7 +3296,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxx1xxxxx0xx11011xxx
                                  msub.  */
-                              return 723;
+                              return 726;
                             }
                         }
                     }
@@ -3353,7 +3353,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxx0xxxxx1x011011xxx
                                      smaddl.  */
-                                  return 725;
+                                  return 728;
                                 }
                               else
                                 {
@@ -3361,7 +3361,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxx1xxxxx1x011011xxx
                                      smsubl.  */
-                                  return 727;
+                                  return 730;
                                 }
                             }
                         }
@@ -3373,7 +3373,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxx0xxxxx1x11101xxxx
                                  umaddl.  */
-                              return 730;
+                              return 733;
                             }
                           else
                             {
@@ -3381,7 +3381,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxx1xxxxx1x11101xxxx
                                  umsubl.  */
-                              return 732;
+                              return 735;
                             }
                         }
                     }
@@ -3397,9 +3397,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
             {
               if (((word >> 24) & 0x1) == 0)
                 {
-                  if (((word >> 13) & 0x1) == 0)
+                  if (((word >> 29) & 0x1) == 0)
                     {
-                      if (((word >> 29) & 0x1) == 0)
+                      if (((word >> 13) & 0x1) == 0)
                         {
                           if (((word >> 14) & 0x1) == 0)
                             {
@@ -3425,7 +3425,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx000000000xx0x100000
                                                                      add.  */
-                                                                  return 1229;
+                                                                  return 1232;
                                                                 }
                                                               else
                                                                 {
@@ -3433,7 +3433,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx000000010xx0x100000
                                                                      mul.  */
-                                                                  return 1655;
+                                                                  return 1685;
                                                                 }
                                                             }
                                                           else
@@ -3444,7 +3444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx000000100xx0x100000
                                                                      smax.  */
-                                                                  return 1728;
+                                                                  return 1764;
                                                                 }
                                                               else
                                                                 {
@@ -3452,7 +3452,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx000000110xx0x100000
                                                                      orr.  */
-                                                                  return 1666;
+                                                                  return 1696;
                                                                 }
                                                             }
                                                         }
@@ -3464,7 +3464,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0000010x0xx0x100000
                                                                  sdiv.  */
-                                                              return 1722;
+                                                              return 1755;
                                                             }
                                                           else
                                                             {
@@ -3472,7 +3472,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0000011x0xx0x100000
                                                                  sabd.  */
-                                                              return 1716;
+                                                              return 1746;
                                                             }
                                                         }
                                                     }
@@ -3486,7 +3486,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0000100x0xx0x100000
                                                                  smulh.  */
-                                                              return 1733;
+                                                              return 1769;
                                                             }
                                                           else
                                                             {
@@ -3496,7 +3496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx000010100xx0x100000
                                                                      smin.  */
-                                                                  return 1731;
+                                                                  return 1767;
                                                                 }
                                                               else
                                                                 {
@@ -3504,7 +3504,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx000010110xx0x100000
                                                                      and.  */
-                                                                  return 1237;
+                                                                  return 1240;
                                                                 }
                                                             }
                                                         }
@@ -3514,7 +3514,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx000011xx0xx0x100000
                                                              sdivr.  */
-                                                          return 1723;
+                                                          return 1756;
                                                         }
                                                     }
                                                 }
@@ -3530,7 +3530,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0001000x0xx0x100000
                                                                  sub.  */
-                                                              return 1849;
+                                                              return 1885;
                                                             }
                                                           else
                                                             {
@@ -3540,7 +3540,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx000100100xx0x100000
                                                                      umax.  */
-                                                                  return 1871;
+                                                                  return 1913;
                                                                 }
                                                               else
                                                                 {
@@ -3548,7 +3548,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx000100110xx0x100000
                                                                      eor.  */
-                                                                  return 1324;
+                                                                  return 1327;
                                                                 }
                                                             }
                                                         }
@@ -3560,7 +3560,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0001010x0xx0x100000
                                                                  udiv.  */
-                                                              return 1868;
+                                                              return 1907;
                                                             }
                                                           else
                                                             {
@@ -3568,7 +3568,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0001011x0xx0x100000
                                                                  uabd.  */
-                                                              return 1862;
+                                                              return 1898;
                                                             }
                                                         }
                                                     }
@@ -3584,7 +3584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx000110000xx0x100000
                                                                      subr.  */
-                                                                  return 1851;
+                                                                  return 1887;
                                                                 }
                                                               else
                                                                 {
@@ -3592,7 +3592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx000110010xx0x100000
                                                                      umulh.  */
-                                                                  return 1876;
+                                                                  return 1918;
                                                                 }
                                                             }
                                                           else
@@ -3603,7 +3603,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx000110100xx0x100000
                                                                      umin.  */
-                                                                  return 1874;
+                                                                  return 1916;
                                                                 }
                                                               else
                                                                 {
@@ -3611,7 +3611,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx000110110xx0x100000
                                                                      bic.  */
-                                                                  return 1249;
+                                                                  return 1252;
                                                                 }
                                                             }
                                                         }
@@ -3621,7 +3621,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx000111xx0xx0x100000
                                                              udivr.  */
-                                                          return 1869;
+                                                          return 1908;
                                                         }
                                                     }
                                                 }
@@ -3634,7 +3634,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx000xxxxx0x00x100001
                                                      ld1sb.  */
-                                                  return 1484;
+                                                  return 1514;
                                                 }
                                               else
                                                 {
@@ -3642,7 +3642,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx000xxxxx0x10x100001
                                                      ld1sh.  */
-                                                  return 1495;
+                                                  return 1525;
                                                 }
                                             }
                                         }
@@ -3654,15 +3654,37 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx000xxxxx0x00x10001x
                                                  ld1sb.  */
-                                              return 1488;
+                                              return 1518;
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx000xxxxx0x10x10001x
-                                                 ld1sh.  */
-                                              return 1499;
+                                              if (((word >> 31) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 10) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx0xx000xxxxx0x10x100010
+                                                         sdot.  */
+                                                      return 1757;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx1xx000xxxxx0x10x100010
+                                                         udot.  */
+                                                      return 1909;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx000xxxxx0x10x100011
+                                                     ld1sh.  */
+                                                  return 1529;
+                                                }
                                             }
                                         }
                                     }
@@ -3682,7 +3704,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000000xxxxx1xx0x100000
                                                              add.  */
-                                                          return 1227;
+                                                          return 1230;
                                                         }
                                                       else
                                                         {
@@ -3690,7 +3712,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx001000xxxxx1xx0x100000
                                                              sqadd.  */
-                                                          return 1735;
+                                                          return 1771;
                                                         }
                                                     }
                                                   else
@@ -3699,7 +3721,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01x000xxxxx1xx0x100000
                                                          sqsub.  */
-                                                      return 1765;
+                                                      return 1801;
                                                     }
                                                 }
                                               else
@@ -3712,7 +3734,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100000xxxxx1xx0x100000
                                                              sub.  */
-                                                          return 1847;
+                                                          return 1883;
                                                         }
                                                       else
                                                         {
@@ -3720,7 +3742,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101000xxxxx1xx0x100000
                                                              uqadd.  */
-                                                          return 1877;
+                                                          return 1919;
                                                         }
                                                     }
                                                   else
@@ -3729,7 +3751,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11x000xxxxx1xx0x100000
                                                          uqsub.  */
-                                                      return 1907;
+                                                      return 1949;
                                                     }
                                                 }
                                             }
@@ -3741,7 +3763,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx000xxxxx1x00x100001
                                                      prfb.  */
-                                                  return 1674;
+                                                  return 1704;
                                                 }
                                               else
                                                 {
@@ -3749,7 +3771,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx000xxxxx1x10x100001
                                                      ld1sh.  */
-                                                  return 1496;
+                                                  return 1526;
                                                 }
                                             }
                                         }
@@ -3761,20 +3783,64 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx000xxxxx1x00x10001x
                                                  prfb.  */
-                                              return 1675;
+                                              return 1705;
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx000xxxxx1x10x10001x
-                                                 ld1sh.  */
-                                              return 1500;
-                                            }
-                                        }
-                                    }
-                                }
-                              else
+                                              if (((word >> 31) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 10) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx0xx000xxxxx1010x100010
+                                                             sdot.  */
+                                                          return 1758;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx0xx000xxxxx1110x100010
+                                                             sdot.  */
+                                                          return 1759;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx1xx000xxxxx1010x100010
+                                                             udot.  */
+                                                          return 1910;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx1xx000xxxxx1110x100010
+                                                             udot.  */
+                                                          return 1911;
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx000xxxxx1x10x100011
+                                                     ld1sh.  */
+                                                  return 1530;
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                              else
                                 {
                                   if (((word >> 30) & 0x1) == 0)
                                     {
@@ -3794,7 +3860,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0010x0000xx0x100000
                                                                  asr.  */
-                                                              return 1245;
+                                                              return 1248;
                                                             }
                                                           else
                                                             {
@@ -3802,7 +3868,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0010x0010xx0x100000
                                                                  asr.  */
-                                                              return 1243;
+                                                              return 1246;
                                                             }
                                                         }
                                                       else
@@ -3811,7 +3877,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx0010x01x0xx0x100000
                                                              asr.  */
-                                                          return 1244;
+                                                          return 1247;
                                                         }
                                                     }
                                                   else
@@ -3822,7 +3888,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx0010x1x00xx0x100000
                                                              asrd.  */
-                                                          return 1246;
+                                                          return 1249;
                                                         }
                                                       else
                                                         {
@@ -3830,7 +3896,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx0010x1x10xx0x100000
                                                              asrr.  */
-                                                          return 1247;
+                                                          return 1250;
                                                         }
                                                     }
                                                 }
@@ -3848,7 +3914,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx001100000xx0x100000
                                                                      lsr.  */
-                                                                  return 1646;
+                                                                  return 1676;
                                                                 }
                                                               else
                                                                 {
@@ -3856,7 +3922,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx001100010xx0x100000
                                                                      lsr.  */
-                                                                  return 1644;
+                                                                  return 1674;
                                                                 }
                                                             }
                                                           else
@@ -3865,7 +3931,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0011001x0xx0x100000
                                                                  lsr.  */
-                                                              return 1645;
+                                                              return 1675;
                                                             }
                                                         }
                                                       else
@@ -3874,7 +3940,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx001101xx0xx0x100000
                                                              lsrr.  */
-                                                          return 1647;
+                                                          return 1677;
                                                         }
                                                     }
                                                   else
@@ -3889,7 +3955,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx001110000xx0x100000
                                                                      lsl.  */
-                                                                  return 1640;
+                                                                  return 1670;
                                                                 }
                                                               else
                                                                 {
@@ -3897,7 +3963,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx001110010xx0x100000
                                                                      lsl.  */
-                                                                  return 1638;
+                                                                  return 1668;
                                                                 }
                                                             }
                                                           else
@@ -3906,7 +3972,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0011101x0xx0x100000
                                                                  lsl.  */
-                                                              return 1639;
+                                                              return 1669;
                                                             }
                                                         }
                                                       else
@@ -3915,7 +3981,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx001111xx0xx0x100000
                                                              lslr.  */
-                                                          return 1641;
+                                                          return 1671;
                                                         }
                                                     }
                                                 }
@@ -3930,7 +3996,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx0x0001xxxxx1xx0x100000
                                                          asr.  */
-                                                      return 1241;
+                                                      return 1244;
                                                     }
                                                   else
                                                     {
@@ -3938,7 +4004,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx0x1001xxxxx1xx0x100000
                                                          asr.  */
-                                                      return 1242;
+                                                      return 1245;
                                                     }
                                                 }
                                               else
@@ -3951,7 +4017,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100001xxxxx1xx0x100000
                                                              lsr.  */
-                                                          return 1642;
+                                                          return 1672;
                                                         }
                                                       else
                                                         {
@@ -3959,7 +4025,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101001xxxxx1xx0x100000
                                                              lsr.  */
-                                                          return 1643;
+                                                          return 1673;
                                                         }
                                                     }
                                                   else
@@ -3970,7 +4036,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx110001xxxxx1xx0x100000
                                                              lsl.  */
-                                                          return 1636;
+                                                          return 1666;
                                                         }
                                                       else
                                                         {
@@ -3978,7 +4044,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx111001xxxxx1xx0x100000
                                                              lsl.  */
-                                                          return 1637;
+                                                          return 1667;
                                                         }
                                                     }
                                                 }
@@ -3994,7 +4060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx001xxxxxx000x100001
                                                      ld1sb.  */
-                                                  return 1490;
+                                                  return 1520;
                                                 }
                                               else
                                                 {
@@ -4002,7 +4068,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx001xxxxxx010x100001
                                                      ld1sh.  */
-                                                  return 1503;
+                                                  return 1533;
                                                 }
                                             }
                                           else
@@ -4013,7 +4079,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx001xxxxxx100x100001
                                                      ld1rb.  */
-                                                  return 1468;
+                                                  return 1490;
                                                 }
                                               else
                                                 {
@@ -4021,7 +4087,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx001xxxxxx110x100001
                                                      ld1rsw.  */
-                                                  return 1481;
+                                                  return 1511;
                                                 }
                                             }
                                         }
@@ -4036,7 +4102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx001xxxxx0x00x10001x
                                                  ld1sb.  */
-                                              return 1489;
+                                              return 1519;
                                             }
                                           else
                                             {
@@ -4044,7 +4110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx001xxxxx0x10x10001x
                                                  ld1sh.  */
-                                              return 1501;
+                                              return 1531;
                                             }
                                         }
                                       else
@@ -4057,7 +4123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx001xxxxx1000x10001x
                                                      ld1sb.  */
-                                                  return 1494;
+                                                  return 1524;
                                                 }
                                               else
                                                 {
@@ -4065,7 +4131,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx001xxxxx1010x10001x
                                                      ld1sh.  */
-                                                  return 1506;
+                                                  return 1536;
                                                 }
                                             }
                                           else
@@ -4076,7 +4142,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx001xxxxx1100x10001x
                                                      prfb.  */
-                                                  return 1676;
+                                                  return 1706;
                                                 }
                                               else
                                                 {
@@ -4084,7 +4150,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx001xxxxx1110x10001x
                                                      ld1sh.  */
-                                                  return 1502;
+                                                  return 1532;
                                                 }
                                             }
                                         }
@@ -4105,7 +4171,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx010xxxxx0xx0x100000
                                                  mla.  */
-                                              return 1649;
+                                              return 1679;
                                             }
                                           else
                                             {
@@ -4115,7 +4181,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx010xxxxx0x00x100001
                                                      ld1b.  */
-                                                  return 1434;
+                                                  return 1456;
                                                 }
                                               else
                                                 {
@@ -4123,7 +4189,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx010xxxxx0x10x100001
                                                      ld1h.  */
-                                                  return 1454;
+                                                  return 1476;
                                                 }
                                             }
                                         }
@@ -4135,7 +4201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx010xxxxx0x00x10001x
                                                  ld1b.  */
-                                              return 1439;
+                                              return 1461;
                                             }
                                           else
                                             {
@@ -4143,7 +4209,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx010xxxxx0x10x10001x
                                                  ld1h.  */
-                                              return 1459;
+                                              return 1481;
                                             }
                                         }
                                     }
@@ -4163,7 +4229,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000010xxxxx1xx0x100000
                                                              index.  */
-                                                          return 1425;
+                                                          return 1447;
                                                         }
                                                       else
                                                         {
@@ -4171,7 +4237,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100010xxxxx1xx0x100000
                                                              index.  */
-                                                          return 1426;
+                                                          return 1448;
                                                         }
                                                     }
                                                   else
@@ -4184,7 +4250,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxx01010xxxxx1000x100000
                                                                  addvl.  */
-                                                              return 1231;
+                                                              return 1234;
                                                             }
                                                           else
                                                             {
@@ -4192,7 +4258,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxx01010xxxxx1010x100000
                                                                  rdvl.  */
-                                                              return 1710;
+                                                              return 1740;
                                                             }
                                                         }
                                                       else
@@ -4201,7 +4267,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxx01010xxxxx11x0x100000
                                                              addpl.  */
-                                                          return 1230;
+                                                          return 1233;
                                                         }
                                                     }
                                                 }
@@ -4213,7 +4279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01x010xxxxx1xx0x100000
                                                          index.  */
-                                                      return 1427;
+                                                      return 1449;
                                                     }
                                                   else
                                                     {
@@ -4221,7 +4287,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11x010xxxxx1xx0x100000
                                                          index.  */
-                                                      return 1424;
+                                                      return 1446;
                                                     }
                                                 }
                                             }
@@ -4233,7 +4299,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx010xxxxx1x00x100001
                                                      prfw.  */
-                                                  return 1694;
+                                                  return 1724;
                                                 }
                                               else
                                                 {
@@ -4241,7 +4307,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx010xxxxx1x10x100001
                                                      ld1h.  */
-                                                  return 1455;
+                                                  return 1477;
                                                 }
                                             }
                                         }
@@ -4253,7 +4319,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx010xxxxx1x00x10001x
                                                  prfw.  */
-                                              return 1696;
+                                              return 1726;
                                             }
                                           else
                                             {
@@ -4261,7 +4327,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx010xxxxx1x10x10001x
                                                  ld1h.  */
-                                              return 1460;
+                                              return 1482;
                                             }
                                         }
                                     }
@@ -4278,7 +4344,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx011xxxxx0xx0x100000
                                                  mad.  */
-                                              return 1648;
+                                              return 1678;
                                             }
                                           else
                                             {
@@ -4294,7 +4360,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00x011xxxx010x0x100000
                                                                  sqincw.  */
-                                                              return 1762;
+                                                              return 1798;
                                                             }
                                                           else
                                                             {
@@ -4304,7 +4370,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00x011xxxx01100x100000
                                                                      sqinch.  */
-                                                                  return 1756;
+                                                                  return 1792;
                                                                 }
                                                               else
                                                                 {
@@ -4312,7 +4378,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00x011xxxx01110x100000
                                                                      sqincd.  */
-                                                                  return 1753;
+                                                                  return 1789;
                                                                 }
                                                             }
                                                         }
@@ -4324,7 +4390,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00x011xxxx110x0x100000
                                                                  incw.  */
-                                                              return 1422;
+                                                              return 1444;
                                                             }
                                                           else
                                                             {
@@ -4334,7 +4400,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00x011xxxx11100x100000
                                                                      inch.  */
-                                                                  return 1418;
+                                                                  return 1440;
                                                                 }
                                                               else
                                                                 {
@@ -4342,7 +4408,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00x011xxxx11110x100000
                                                                      incd.  */
-                                                                  return 1416;
+                                                                  return 1438;
                                                                 }
                                                             }
                                                         }
@@ -4355,7 +4421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx01x011xxxxx10x0x100000
                                                              sqdecw.  */
-                                                          return 1748;
+                                                          return 1784;
                                                         }
                                                       else
                                                         {
@@ -4365,7 +4431,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx01x011xxxxx1100x100000
                                                                  sqdech.  */
-                                                              return 1742;
+                                                              return 1778;
                                                             }
                                                           else
                                                             {
@@ -4373,7 +4439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx01x011xxxxx1110x100000
                                                                  sqdecd.  */
-                                                              return 1739;
+                                                              return 1775;
                                                             }
                                                         }
                                                     }
@@ -4390,7 +4456,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx10x011xxxx010x0x100000
                                                                  uqincw.  */
-                                                              return 1904;
+                                                              return 1946;
                                                             }
                                                           else
                                                             {
@@ -4400,7 +4466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx10x011xxxx01100x100000
                                                                      uqinch.  */
-                                                                  return 1898;
+                                                                  return 1940;
                                                                 }
                                                               else
                                                                 {
@@ -4408,7 +4474,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx10x011xxxx01110x100000
                                                                      uqincd.  */
-                                                                  return 1895;
+                                                                  return 1937;
                                                                 }
                                                             }
                                                         }
@@ -4420,7 +4486,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx10x011xxxx110x0x100000
                                                                  decw.  */
-                                                              return 1316;
+                                                              return 1319;
                                                             }
                                                           else
                                                             {
@@ -4430,7 +4496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx10x011xxxx11100x100000
                                                                      dech.  */
-                                                                  return 1312;
+                                                                  return 1315;
                                                                 }
                                                               else
                                                                 {
@@ -4438,7 +4504,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx10x011xxxx11110x100000
                                                                      decd.  */
-                                                                  return 1310;
+                                                                  return 1313;
                                                                 }
                                                             }
                                                         }
@@ -4451,7 +4517,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx11x011xxxxx10x0x100000
                                                              uqdecw.  */
-                                                          return 1890;
+                                                          return 1932;
                                                         }
                                                       else
                                                         {
@@ -4461,7 +4527,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx11x011xxxxx1100x100000
                                                                  uqdech.  */
-                                                              return 1884;
+                                                              return 1926;
                                                             }
                                                           else
                                                             {
@@ -4469,7 +4535,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx11x011xxxxx1110x100000
                                                                  uqdecd.  */
-                                                              return 1881;
+                                                              return 1923;
                                                             }
                                                         }
                                                     }
@@ -4488,7 +4554,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx011xxxxx0000x100001
                                                          prfb.  */
-                                                      return 1673;
+                                                      return 1703;
                                                     }
                                                   else
                                                     {
@@ -4496,7 +4562,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx011xxxxx0010x100001
                                                          prfh.  */
-                                                      return 1688;
+                                                      return 1718;
                                                     }
                                                 }
                                               else
@@ -4507,7 +4573,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx011xxxxx1000x100001
                                                          ld1b.  */
-                                                      return 1441;
+                                                      return 1463;
                                                     }
                                                   else
                                                     {
@@ -4515,7 +4581,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx011xxxxx1010x100001
                                                          ld1h.  */
-                                                      return 1463;
+                                                      return 1485;
                                                     }
                                                 }
                                             }
@@ -4527,7 +4593,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx011xxxxxx100x100001
                                                      ld1rb.  */
-                                                  return 1470;
+                                                  return 1492;
                                                 }
                                               else
                                                 {
@@ -4535,7 +4601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx011xxxxxx110x100001
                                                      ld1rh.  */
-                                                  return 1474;
+                                                  return 1496;
                                                 }
                                             }
                                         }
@@ -4550,7 +4616,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx011xxxxx0x00x10001x
                                                  ld1b.  */
-                                              return 1440;
+                                              return 1462;
                                             }
                                           else
                                             {
@@ -4558,7 +4624,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx011xxxxx0x10x10001x
                                                  ld1h.  */
-                                              return 1461;
+                                              return 1483;
                                             }
                                         }
                                       else
@@ -4571,7 +4637,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx011xxxxx1000x10001x
                                                      ld1b.  */
-                                                  return 1446;
+                                                  return 1468;
                                                 }
                                               else
                                                 {
@@ -4579,7 +4645,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx011xxxxx1010x10001x
                                                      ld1h.  */
-                                                  return 1467;
+                                                  return 1489;
                                                 }
                                             }
                                           else
@@ -4590,7 +4656,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx011xxxxx1100x10001x
                                                      prfw.  */
-                                                  return 1697;
+                                                  return 1727;
                                                 }
                                               else
                                                 {
@@ -4598,7 +4664,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx011xxxxx1110x10001x
                                                      ld1h.  */
-                                                  return 1462;
+                                                  return 1484;
                                                 }
                                             }
                                         }
@@ -4608,597 +4674,168 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         }
                       else
                         {
-                          if (((word >> 21) & 0x1) == 0)
+                          if (((word >> 14) & 0x1) == 0)
                             {
                               if (((word >> 15) & 0x1) == 0)
                                 {
-                                  if (((word >> 14) & 0x1) == 0)
-                                    {
-                                      if (((word >> 4) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxx0xxxxxxxx000xxxxx0xx0x1001xx
-                                             cmphs.  */
-                                          return 1282;
-                                        }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxx1xxxxxxxx000xxxxx0xx0x1001xx
-                                             cmphi.  */
-                                          return 1279;
-                                        }
-                                    }
-                                  else
+                                  if (((word >> 21) & 0x1) == 0)
                                     {
                                       if (((word >> 30) & 0x1) == 0)
                                         {
                                           if (((word >> 31) & 0x1) == 0)
                                             {
-                                              if (((word >> 4) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxx0xxxxxxxx010xxxxx0xx0x100100
-                                                     cmpge.  */
-                                                  return 1273;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxx1xxxxxxxx010xxxxx0xx0x100100
-                                                     cmpgt.  */
-                                                  return 1276;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 17) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 19) & 0x1) == 0)
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx010xxxxx0000x100101
-                                                         ld1b.  */
-                                                      return 1435;
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 16) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxxxxx10000x000xx0x100000
+                                                                 saddv.  */
+                                                              return 1747;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxxxxx10010x000xx0x100000
+                                                                 uaddv.  */
+                                                              return 1899;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxxxxx100x0x010xx0x100000
+                                                             movprfx.  */
+                                                          return 1682;
+                                                        }
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx010xxxxx0010x100101
-                                                         ld1sw.  */
-                                                      return 1507;
+                                                      if (((word >> 16) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxxxxx10000x100xx0x100000
+                                                                 smaxv.  */
+                                                              return 1765;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxxxxx10000x110xx0x100000
+                                                                 orv.  */
+                                                              return 1699;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxxxxx10010x100xx0x100000
+                                                                 umaxv.  */
+                                                              return 1914;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxxxxx10010x110xx0x100000
+                                                                 eorv.  */
+                                                              return 1330;
+                                                            }
+                                                        }
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 16) & 0x1) == 0)
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx010xxxxx0100x100101
-                                                         ld1b.  */
-                                                      return 1437;
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxxxxx10001xx00xx0x100000
+                                                             sminv.  */
+                                                          return 1768;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxxxxx10001xx10xx0x100000
+                                                             andv.  */
+                                                          return 1243;
+                                                        }
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx010xxxxx0110x100101
-                                                         ld1h.  */
-                                                      return 1457;
+                                                         xxxxxxxxxxxxx10011xxx0xx0x100000
+                                                         uminv.  */
+                                                      return 1917;
                                                     }
                                                 }
                                             }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx010xxxxx00x0x10011x
-                                                 st1b.  */
-                                              return 1767;
-                                            }
                                           else
                                             {
                                               if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx0100x10011x
-                                                     st1b.  */
-                                                  return 1771;
+                                                     xxxxxxxxxxxxx100xxxxx0x00x100001
+                                                     ldff1sb.  */
+                                                  return 1606;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx0110x10011x
-                                                     st1h.  */
-                                                  return 1792;
+                                                     xxxxxxxxxxxxx100xxxxx0x10x100001
+                                                     ldff1sh.  */
+                                                  return 1614;
                                                 }
                                             }
                                         }
-                                    }
-                                }
-                              else
-                                {
-                                  if (((word >> 30) & 0x1) == 0)
-                                    {
-                                      if (((word >> 14) & 0x1) == 0)
+                                      else
                                         {
-                                          if (((word >> 4) & 0x1) == 0)
+                                          if (((word >> 23) & 0x1) == 0)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxx0xxxxxxxx001xxxxx0xx0x10010x
-                                                 cmpge.  */
-                                              return 1274;
+                                                 xxxxxxxxxxxxx100xxxxx0x00x10001x
+                                                 ldff1sb.  */
+                                              return 1610;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxx1xxxxxxxx001xxxxx0xx0x10010x
-                                                 cmpgt.  */
-                                              return 1277;
+                                                 xxxxxxxxxxxxx100xxxxx0x10x10001x
+                                                 ldff1sh.  */
+                                              return 1618;
                                             }
                                         }
-                                      else
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 23) & 0x1) == 0)
                                         {
-                                          if (((word >> 31) & 0x1) == 0)
+                                          if (((word >> 30) & 0x1) == 0)
                                             {
-                                              if (((word >> 4) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxx0xxxxxxxx011xxxxx0xx0x100100
-                                                     cmphs.  */
-                                                  return 1283;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxx1xxxxxxxx011xxxxx0xx0x100100
-                                                     cmphi.  */
-                                                  return 1280;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 22) & 0x1) == 0)
-                                                {
-                                                  if (((word >> 23) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx0000x100101
-                                                         ldnt1b.  */
-                                                      return 1626;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx0010x100101
-                                                         ldnt1h.  */
-                                                      return 1630;
-                                                    }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 23) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx0100x100101
-                                                         ld3b.  */
-                                                      return 1534;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx0110x100101
-                                                         ld3h.  */
-                                                      return 1538;
-                                                    }
-                                                }
-                                            }
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 22) & 0x1) == 0)
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx0000x10011x
-                                                 st1b.  */
-                                              return 1768;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx0010x10011x
-                                                 st1h.  */
-                                              return 1787;
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx0100x10011x
-                                                 st1b.  */
-                                              return 1772;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx0110x10011x
-                                                 st1h.  */
-                                              return 1793;
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                          else
-                            {
-                              if (((word >> 30) & 0x1) == 0)
-                                {
-                                  if (((word >> 31) & 0x1) == 0)
-                                    {
-                                      if (((word >> 4) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxx0xxxxxxxx0xxxxxxx1xx0x100100
-                                             cmphs.  */
-                                          return 1284;
-                                        }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxx1xxxxxxxx0xxxxxxx1xx0x100100
-                                             cmphi.  */
-                                          return 1281;
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 15) & 0x1) == 0)
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx0x0xxxxx1000x100101
-                                                     ld1b.  */
-                                                  return 1436;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx0x0xxxxx1010x100101
-                                                     ld1h.  */
-                                                  return 1456;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx0x0xxxxx1100x100101
-                                                     ld1b.  */
-                                                  return 1438;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx0x0xxxxx1110x100101
-                                                     ld1h.  */
-                                                  return 1458;
-                                                }
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx0x1xxxxx1000x100101
-                                                     ld2b.  */
-                                                  return 1526;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx0x1xxxxx1010x100101
-                                                     ld2h.  */
-                                                  return 1530;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx0x1xxxxx1100x100101
-                                                     ld4b.  */
-                                                  return 1542;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx0x1xxxxx1110x100101
-                                                     ld4h.  */
-                                                  return 1546;
-                                                }
-                                            }
-                                        }
-                                    }
-                                }
-                              else
-                                {
-                                  if (((word >> 15) & 0x1) == 0)
-                                    {
-                                      if (((word >> 22) & 0x1) == 0)
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x0xxxxx1000x10011x
-                                                 st1b.  */
-                                              return 1770;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x0xxxxx1010x10011x
-                                                 st1h.  */
-                                              return 1789;
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x0xxxxx1100x10011x
-                                                 st1b.  */
-                                              return 1773;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x0xxxxx1110x10011x
-                                                 st1h.  */
-                                              return 1794;
-                                            }
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 22) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxxxxxxxxxxx0x1xxxxx10x0x10011x
-                                             st1h.  */
-                                          return 1790;
-                                        }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxxxxxxxxxxx0x1xxxxx11x0x10011x
-                                             st1h.  */
-                                          return 1795;
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                    }
-                  else
-                    {
-                      if (((word >> 29) & 0x1) == 0)
-                        {
-                          if (((word >> 14) & 0x1) == 0)
-                            {
-                              if (((word >> 15) & 0x1) == 0)
-                                {
-                                  if (((word >> 21) & 0x1) == 0)
-                                    {
-                                      if (((word >> 30) & 0x1) == 0)
-                                        {
-                                          if (((word >> 31) & 0x1) == 0)
-                                            {
-                                              if (((word >> 17) & 0x1) == 0)
-                                                {
-                                                  if (((word >> 19) & 0x1) == 0)
-                                                    {
-                                                      if (((word >> 20) & 0x1) == 0)
-                                                        {
-                                                          if (((word >> 16) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx10000x000xx0x100000
-                                                                 saddv.  */
-                                                              return 1717;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx10010x000xx0x100000
-                                                                 uaddv.  */
-                                                              return 1863;
-                                                            }
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx100x0x010xx0x100000
-                                                             movprfx.  */
-                                                          return 1652;
-                                                        }
-                                                    }
-                                                  else
-                                                    {
-                                                      if (((word >> 16) & 0x1) == 0)
-                                                        {
-                                                          if (((word >> 20) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx10000x100xx0x100000
-                                                                 smaxv.  */
-                                                              return 1729;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx10000x110xx0x100000
-                                                                 orv.  */
-                                                              return 1669;
-                                                            }
-                                                        }
-                                                      else
-                                                        {
-                                                          if (((word >> 20) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx10010x100xx0x100000
-                                                                 umaxv.  */
-                                                              return 1872;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx10010x110xx0x100000
-                                                                 eorv.  */
-                                                              return 1327;
-                                                            }
-                                                        }
-                                                    }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 16) & 0x1) == 0)
-                                                    {
-                                                      if (((word >> 20) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx10001xx00xx0x100000
-                                                             sminv.  */
-                                                          return 1732;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx10001xx10xx0x100000
-                                                             andv.  */
-                                                          return 1240;
-                                                        }
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx10011xxx0xx0x100000
-                                                         uminv.  */
-                                                      return 1875;
-                                                    }
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx100xxxxx0x00x100001
-                                                     ldff1sb.  */
-                                                  return 1576;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx100xxxxx0x10x100001
-                                                     ldff1sh.  */
-                                                  return 1584;
-                                                }
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx100xxxxx0x00x10001x
-                                                 ldff1sb.  */
-                                              return 1580;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx100xxxxx0x10x10001x
-                                                 ldff1sh.  */
-                                              return 1588;
-                                            }
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 23) & 0x1) == 0)
-                                        {
-                                          if (((word >> 30) & 0x1) == 0)
-                                            {
-                                              if (((word >> 31) & 0x1) == 0)
+                                              if (((word >> 31) & 0x1) == 0)
                                                 {
                                                   if (((word >> 22) & 0x1) == 0)
                                                     {
@@ -5206,7 +4843,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx100xxxxx1000x100000
                                                          and.  */
-                                                      return 1235;
+                                                      return 1238;
                                                     }
                                                   else
                                                     {
@@ -5214,7 +4851,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx100xxxxx1100x100000
                                                          orr.  */
-                                                      return 1664;
+                                                      return 1694;
                                                     }
                                                 }
                                               else
@@ -5223,7 +4860,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx100xxxxx1x00x100001
                                                      prfh.  */
-                                                  return 1687;
+                                                  return 1717;
                                                 }
                                             }
                                           else
@@ -5232,7 +4869,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx100xxxxx1x00x10001x
                                                  prfh.  */
-                                              return 1689;
+                                              return 1719;
                                             }
                                         }
                                       else
@@ -5247,7 +4884,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx100xxxxx1010x100000
                                                          eor.  */
-                                                      return 1322;
+                                                      return 1325;
                                                     }
                                                   else
                                                     {
@@ -5255,7 +4892,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx100xxxxx1110x100000
                                                          bic.  */
-                                                      return 1248;
+                                                      return 1251;
                                                     }
                                                 }
                                               else
@@ -5264,7 +4901,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx100xxxxx1x10x100001
                                                      ldff1sh.  */
-                                                  return 1585;
+                                                  return 1615;
                                                 }
                                             }
                                           else
@@ -5273,7 +4910,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx100xxxxx1x10x10001x
                                                  ldff1sh.  */
-                                              return 1589;
+                                              return 1619;
                                             }
                                         }
                                     }
@@ -5298,7 +4935,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx1010000x0xx0x100000
                                                                  sxtb.  */
-                                                              return 1854;
+                                                              return 1890;
                                                             }
                                                           else
                                                             {
@@ -5306,7 +4943,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx1010001x0xx0x100000
                                                                  cls.  */
-                                                              return 1268;
+                                                              return 1271;
                                                             }
                                                         }
                                                       else
@@ -5317,7 +4954,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx1010010x0xx0x100000
                                                                  sxtw.  */
-                                                              return 1856;
+                                                              return 1892;
                                                             }
                                                           else
                                                             {
@@ -5325,7 +4962,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx1010011x0xx0x100000
                                                                  fabs.  */
-                                                              return 1330;
+                                                              return 1333;
                                                             }
                                                         }
                                                     }
@@ -5339,7 +4976,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx1010100x0xx0x100000
                                                                  sxth.  */
-                                                              return 1855;
+                                                              return 1891;
                                                             }
                                                           else
                                                             {
@@ -5347,7 +4984,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx1010101x0xx0x100000
                                                                  cnt.  */
-                                                              return 1297;
+                                                              return 1300;
                                                             }
                                                         }
                                                       else
@@ -5358,7 +4995,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx1010110x0xx0x100000
                                                                  abs.  */
-                                                              return 1226;
+                                                              return 1229;
                                                             }
                                                           else
                                                             {
@@ -5366,7 +5003,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx1010111x0xx0x100000
                                                                  not.  */
-                                                              return 1661;
+                                                              return 1691;
                                                             }
                                                         }
                                                     }
@@ -5383,7 +5020,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx1011000x0xx0x100000
                                                                  uxtb.  */
-                                                              return 1911;
+                                                              return 1953;
                                                             }
                                                           else
                                                             {
@@ -5391,7 +5028,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx1011001x0xx0x100000
                                                                  clz.  */
-                                                              return 1269;
+                                                              return 1272;
                                                             }
                                                         }
                                                       else
@@ -5402,7 +5039,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx1011010x0xx0x100000
                                                                  uxtw.  */
-                                                              return 1913;
+                                                              return 1955;
                                                             }
                                                           else
                                                             {
@@ -5410,7 +5047,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx1011011x0xx0x100000
                                                                  fneg.  */
-                                                              return 1388;
+                                                              return 1410;
                                                             }
                                                         }
                                                     }
@@ -5424,7 +5061,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx1011100x0xx0x100000
                                                                  uxth.  */
-                                                              return 1912;
+                                                              return 1954;
                                                             }
                                                           else
                                                             {
@@ -5432,7 +5069,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx1011101x0xx0x100000
                                                                  cnot.  */
-                                                              return 1296;
+                                                              return 1299;
                                                             }
                                                         }
                                                       else
@@ -5441,7 +5078,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx101111xx0xx0x100000
                                                              neg.  */
-                                                          return 1658;
+                                                          return 1688;
                                                         }
                                                     }
                                                 }
@@ -5458,7 +5095,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxx0101xxxxx1000x100000
                                                              adr.  */
-                                                          return 1232;
+                                                          return 1235;
                                                         }
                                                       else
                                                         {
@@ -5466,7 +5103,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxx0101xxxxx1100x100000
                                                              adr.  */
-                                                          return 1233;
+                                                          return 1236;
                                                         }
                                                     }
                                                   else
@@ -5475,7 +5112,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxx0101xxxxx1x10x100000
                                                          adr.  */
-                                                      return 1234;
+                                                      return 1237;
                                                     }
                                                 }
                                               else
@@ -5488,7 +5125,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx001101xxxxx1xx0x100000
                                                              ftssel.  */
-                                                          return 1414;
+                                                          return 1436;
                                                         }
                                                       else
                                                         {
@@ -5496,7 +5133,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011101xxxxx1xx0x100000
                                                              fexpa.  */
-                                                          return 1367;
+                                                          return 1380;
                                                         }
                                                     }
                                                   else
@@ -5505,7 +5142,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1x1101xxxxx1xx0x100000
                                                          movprfx.  */
-                                                      return 1651;
+                                                      return 1681;
                                                     }
                                                 }
                                             }
@@ -5520,7 +5157,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx101xxxxxx000x100001
                                                      ldff1sb.  */
-                                                  return 1582;
+                                                  return 1612;
                                                 }
                                               else
                                                 {
@@ -5528,7 +5165,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx101xxxxxx010x100001
                                                      ldff1sh.  */
-                                                  return 1592;
+                                                  return 1622;
                                                 }
                                             }
                                           else
@@ -5539,7 +5176,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx101xxxxxx100x100001
                                                      ld1rb.  */
-                                                  return 1469;
+                                                  return 1491;
                                                 }
                                               else
                                                 {
@@ -5547,7 +5184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx101xxxxxx110x100001
                                                      ld1rh.  */
-                                                  return 1473;
+                                                  return 1495;
                                                 }
                                             }
                                         }
@@ -5562,7 +5199,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx101xxxxx0x00x10001x
                                                  ldff1sb.  */
-                                              return 1581;
+                                              return 1611;
                                             }
                                           else
                                             {
@@ -5570,7 +5207,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx101xxxxx0x10x10001x
                                                  ldff1sh.  */
-                                              return 1590;
+                                              return 1620;
                                             }
                                         }
                                       else
@@ -5583,7 +5220,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx101xxxxx1000x10001x
                                                      ldff1sb.  */
-                                                  return 1583;
+                                                  return 1613;
                                                 }
                                               else
                                                 {
@@ -5591,7 +5228,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx101xxxxx1010x10001x
                                                      ldff1sh.  */
-                                                  return 1593;
+                                                  return 1623;
                                                 }
                                             }
                                           else
@@ -5602,7 +5239,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx101xxxxx1100x10001x
                                                      prfh.  */
-                                                  return 1690;
+                                                  return 1720;
                                                 }
                                               else
                                                 {
@@ -5610,7 +5247,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx101xxxxx1110x10001x
                                                      ldff1sh.  */
-                                                  return 1591;
+                                                  return 1621;
                                                 }
                                             }
                                         }
@@ -5631,7 +5268,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx110xxxxx0xx0x100000
                                                  mls.  */
-                                              return 1650;
+                                              return 1680;
                                             }
                                           else
                                             {
@@ -5641,7 +5278,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx110xxxxx0x00x100001
                                                      ldff1b.  */
-                                                  return 1550;
+                                                  return 1580;
                                                 }
                                               else
                                                 {
@@ -5649,7 +5286,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx110xxxxx0x10x100001
                                                      ldff1h.  */
-                                                  return 1565;
+                                                  return 1595;
                                                 }
                                             }
                                         }
@@ -5661,7 +5298,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx110xxxxx0x00x10001x
                                                  ldff1b.  */
-                                              return 1555;
+                                              return 1585;
                                             }
                                           else
                                             {
@@ -5669,7 +5306,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx110xxxxx0x10x10001x
                                                  ldff1h.  */
-                                              return 1570;
+                                              return 1600;
                                             }
                                         }
                                     }
@@ -5683,7 +5320,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx110xxxxx1x00x10000x
                                                  prfd.  */
-                                              return 1680;
+                                              return 1710;
                                             }
                                           else
                                             {
@@ -5691,7 +5328,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx110xxxxx1x00x10001x
                                                  prfd.  */
-                                              return 1682;
+                                              return 1712;
                                             }
                                         }
                                       else
@@ -5702,7 +5339,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx110xxxxx1x10x10000x
                                                  ldff1h.  */
-                                              return 1566;
+                                              return 1596;
                                             }
                                           else
                                             {
@@ -5710,7 +5347,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx110xxxxx1x10x10001x
                                                  ldff1h.  */
-                                              return 1571;
+                                              return 1601;
                                             }
                                         }
                                     }
@@ -5727,7 +5364,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx111xxxxx0xx0x100000
                                                  msb.  */
-                                              return 1653;
+                                              return 1683;
                                             }
                                           else
                                             {
@@ -5747,7 +5384,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000111xxxx01000x100000
                                                                          cntb.  */
-                                                                      return 1298;
+                                                                      return 1301;
                                                                     }
                                                                   else
                                                                     {
@@ -5755,7 +5392,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000111xxxx01010x100000
                                                                          cntw.  */
-                                                                      return 1302;
+                                                                      return 1305;
                                                                     }
                                                                 }
                                                               else
@@ -5766,7 +5403,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000111xxxx01100x100000
                                                                          cnth.  */
-                                                                      return 1300;
+                                                                      return 1303;
                                                                     }
                                                                   else
                                                                     {
@@ -5774,7 +5411,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000111xxxx01110x100000
                                                                          cntd.  */
-                                                                      return 1299;
+                                                                      return 1302;
                                                                     }
                                                                 }
                                                             }
@@ -5788,7 +5425,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000111xxxx11000x100000
                                                                          incb.  */
-                                                                      return 1415;
+                                                                      return 1437;
                                                                     }
                                                                   else
                                                                     {
@@ -5796,7 +5433,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000111xxxx11010x100000
                                                                          incw.  */
-                                                                      return 1423;
+                                                                      return 1445;
                                                                     }
                                                                 }
                                                               else
@@ -5807,7 +5444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000111xxxx11100x100000
                                                                          inch.  */
-                                                                      return 1419;
+                                                                      return 1441;
                                                                     }
                                                                   else
                                                                     {
@@ -5815,7 +5452,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000111xxxx11110x100000
                                                                          incd.  */
-                                                                      return 1417;
+                                                                      return 1439;
                                                                     }
                                                                 }
                                                             }
@@ -5832,7 +5469,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx001111xxxx01000x100000
                                                                          sqincb.  */
-                                                                      return 1752;
+                                                                      return 1788;
                                                                     }
                                                                   else
                                                                     {
@@ -5840,7 +5477,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx001111xxxx01010x100000
                                                                          sqincw.  */
-                                                                      return 1764;
+                                                                      return 1800;
                                                                     }
                                                                 }
                                                               else
@@ -5851,7 +5488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx001111xxxx01100x100000
                                                                          sqinch.  */
-                                                                      return 1758;
+                                                                      return 1794;
                                                                     }
                                                                   else
                                                                     {
@@ -5859,7 +5496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx001111xxxx01110x100000
                                                                          sqincd.  */
-                                                                      return 1755;
+                                                                      return 1791;
                                                                     }
                                                                 }
                                                             }
@@ -5873,7 +5510,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx001111xxxx11000x100000
                                                                          sqincb.  */
-                                                                      return 1751;
+                                                                      return 1787;
                                                                     }
                                                                   else
                                                                     {
@@ -5881,7 +5518,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx001111xxxx11010x100000
                                                                          sqincw.  */
-                                                                      return 1763;
+                                                                      return 1799;
                                                                     }
                                                                 }
                                                               else
@@ -5892,7 +5529,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx001111xxxx11100x100000
                                                                          sqinch.  */
-                                                                      return 1757;
+                                                                      return 1793;
                                                                     }
                                                                   else
                                                                     {
@@ -5900,7 +5537,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx001111xxxx11110x100000
                                                                          sqincd.  */
-                                                                      return 1754;
+                                                                      return 1790;
                                                                     }
                                                                 }
                                                             }
@@ -5918,7 +5555,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx01x111xxxx01000x100000
                                                                      sqdecb.  */
-                                                                  return 1738;
+                                                                  return 1774;
                                                                 }
                                                               else
                                                                 {
@@ -5926,7 +5563,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx01x111xxxx01010x100000
                                                                      sqdecw.  */
-                                                                  return 1750;
+                                                                  return 1786;
                                                                 }
                                                             }
                                                           else
@@ -5937,7 +5574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx01x111xxxx01100x100000
                                                                      sqdech.  */
-                                                                  return 1744;
+                                                                  return 1780;
                                                                 }
                                                               else
                                                                 {
@@ -5945,7 +5582,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx01x111xxxx01110x100000
                                                                      sqdecd.  */
-                                                                  return 1741;
+                                                                  return 1777;
                                                                 }
                                                             }
                                                         }
@@ -5959,7 +5596,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx01x111xxxx11000x100000
                                                                      sqdecb.  */
-                                                                  return 1737;
+                                                                  return 1773;
                                                                 }
                                                               else
                                                                 {
@@ -5967,7 +5604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx01x111xxxx11010x100000
                                                                      sqdecw.  */
-                                                                  return 1749;
+                                                                  return 1785;
                                                                 }
                                                             }
                                                           else
@@ -5978,7 +5615,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx01x111xxxx11100x100000
                                                                      sqdech.  */
-                                                                  return 1743;
+                                                                  return 1779;
                                                                 }
                                                               else
                                                                 {
@@ -5986,7 +5623,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx01x111xxxx11110x100000
                                                                      sqdecd.  */
-                                                                  return 1740;
+                                                                  return 1776;
                                                                 }
                                                             }
                                                         }
@@ -6006,7 +5643,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx100111xxxxx1000x100000
                                                                      decb.  */
-                                                                  return 1309;
+                                                                  return 1312;
                                                                 }
                                                               else
                                                                 {
@@ -6014,7 +5651,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx100111xxxxx1010x100000
                                                                      decw.  */
-                                                                  return 1317;
+                                                                  return 1320;
                                                                 }
                                                             }
                                                           else
@@ -6025,7 +5662,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx100111xxxxx1100x100000
                                                                      dech.  */
-                                                                  return 1313;
+                                                                  return 1316;
                                                                 }
                                                               else
                                                                 {
@@ -6033,7 +5670,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx100111xxxxx1110x100000
                                                                      decd.  */
-                                                                  return 1311;
+                                                                  return 1314;
                                                                 }
                                                             }
                                                         }
@@ -6049,7 +5686,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx101111xxxx01000x100000
                                                                          uqincb.  */
-                                                                      return 1893;
+                                                                      return 1935;
                                                                     }
                                                                   else
                                                                     {
@@ -6057,7 +5694,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx101111xxxx01010x100000
                                                                          uqincw.  */
-                                                                      return 1905;
+                                                                      return 1947;
                                                                     }
                                                                 }
                                                               else
@@ -6068,7 +5705,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx101111xxxx01100x100000
                                                                          uqinch.  */
-                                                                      return 1899;
+                                                                      return 1941;
                                                                     }
                                                                   else
                                                                     {
@@ -6076,7 +5713,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx101111xxxx01110x100000
                                                                          uqincd.  */
-                                                                      return 1896;
+                                                                      return 1938;
                                                                     }
                                                                 }
                                                             }
@@ -6090,7 +5727,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx101111xxxx11000x100000
                                                                          uqincb.  */
-                                                                      return 1894;
+                                                                      return 1936;
                                                                     }
                                                                   else
                                                                     {
@@ -6098,7 +5735,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx101111xxxx11010x100000
                                                                          uqincw.  */
-                                                                      return 1906;
+                                                                      return 1948;
                                                                     }
                                                                 }
                                                               else
@@ -6109,7 +5746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx101111xxxx11100x100000
                                                                          uqinch.  */
-                                                                      return 1900;
+                                                                      return 1942;
                                                                     }
                                                                   else
                                                                     {
@@ -6117,7 +5754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx101111xxxx11110x100000
                                                                          uqincd.  */
-                                                                      return 1897;
+                                                                      return 1939;
                                                                     }
                                                                 }
                                                             }
@@ -6135,7 +5772,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx11x111xxxx01000x100000
                                                                      uqdecb.  */
-                                                                  return 1879;
+                                                                  return 1921;
                                                                 }
                                                               else
                                                                 {
@@ -6143,7 +5780,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx11x111xxxx01010x100000
                                                                      uqdecw.  */
-                                                                  return 1891;
+                                                                  return 1933;
                                                                 }
                                                             }
                                                           else
@@ -6154,7 +5791,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx11x111xxxx01100x100000
                                                                      uqdech.  */
-                                                                  return 1885;
+                                                                  return 1927;
                                                                 }
                                                               else
                                                                 {
@@ -6162,7 +5799,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx11x111xxxx01110x100000
                                                                      uqdecd.  */
-                                                                  return 1882;
+                                                                  return 1924;
                                                                 }
                                                             }
                                                         }
@@ -6176,7 +5813,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx11x111xxxx11000x100000
                                                                      uqdecb.  */
-                                                                  return 1880;
+                                                                  return 1922;
                                                                 }
                                                               else
                                                                 {
@@ -6184,7 +5821,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx11x111xxxx11010x100000
                                                                      uqdecw.  */
-                                                                  return 1892;
+                                                                  return 1934;
                                                                 }
                                                             }
                                                           else
@@ -6195,7 +5832,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx11x111xxxx11100x100000
                                                                      uqdech.  */
-                                                                  return 1886;
+                                                                  return 1928;
                                                                 }
                                                               else
                                                                 {
@@ -6203,7 +5840,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx11x111xxxx11110x100000
                                                                      uqdecd.  */
-                                                                  return 1883;
+                                                                  return 1925;
                                                                 }
                                                             }
                                                         }
@@ -6213,25 +5850,355 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         }
                                       else
                                         {
-                                          if (((word >> 22) & 0x1) == 0)
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 21) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx111xxxxx0000x100001
+                                                         prfb.  */
+                                                      return 1707;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx111xxxxx0010x100001
+                                                         prfh.  */
+                                                      return 1721;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx111xxxxx1000x100001
+                                                         ldff1b.  */
+                                                      return 1587;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx111xxxxx1010x100001
+                                                         ldff1h.  */
+                                                      return 1604;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx111xxxxxx100x100001
+                                                     ld1rb.  */
+                                                  return 1493;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx111xxxxxx110x100001
+                                                     ld1rh.  */
+                                                  return 1497;
+                                                }
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 21) & 0x1) == 0)
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx111xxxxx0000x10001x
+                                                     prfb.  */
+                                                  return 1709;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx111xxxxx0010x10001x
+                                                     prfh.  */
+                                                  return 1723;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx111xxxxx0100x10001x
+                                                     ldff1b.  */
+                                                  return 1586;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx111xxxxx0110x10001x
+                                                     ldff1h.  */
+                                                  return 1602;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx111xxxxx1000x10001x
+                                                     ldff1b.  */
+                                                  return 1588;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx111xxxxx1010x10001x
+                                                     ldff1h.  */
+                                                  return 1605;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx111xxxxx1100x10001x
+                                                     prfd.  */
+                                                  return 1713;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx111xxxxx1110x10001x
+                                                     ldff1h.  */
+                                                  return 1603;
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                  else
+                    {
+                      if (((word >> 21) & 0x1) == 0)
+                        {
+                          if (((word >> 15) & 0x1) == 0)
+                            {
+                              if (((word >> 30) & 0x1) == 0)
+                                {
+                                  if (((word >> 13) & 0x1) == 0)
+                                    {
+                                      if (((word >> 14) & 0x1) == 0)
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx0xxxxxxxx000xxxxx0xx0x100100
+                                                     cmphs.  */
+                                                  return 1285;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx1xxxxxxxx000xxxxx0xx0x100100
+                                                     cmphi.  */
+                                                  return 1282;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx000xxxxx0x00x100101
+                                                     ld1rqb.  */
+                                                  return 1499;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx000xxxxx0x10x100101
+                                                     ld1rqh.  */
+                                                  return 1503;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx0xxxxxxxx010xxxxx0xx0x100100
+                                                     cmpge.  */
+                                                  return 1276;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx1xxxxxxxx010xxxxx0xx0x100100
+                                                     cmpgt.  */
+                                                  return 1279;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx010xxxxx0000x100101
+                                                         ld1b.  */
+                                                      return 1457;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx010xxxxx0010x100101
+                                                         ld1sw.  */
+                                                      return 1537;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx010xxxxx0100x100101
+                                                         ld1b.  */
+                                                      return 1459;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx010xxxxx0110x100101
+                                                         ld1h.  */
+                                                      return 1479;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 14) & 0x1) == 0)
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx0xxxxxxxx100xxxxx0xx0x100100
+                                                     cmpeq.  */
+                                                  return 1273;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx1xxxxxxxx100xxxxx0xx0x100100
+                                                     cmpne.  */
+                                                  return 1296;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx100xxxxx0x00x100101
+                                                     ld1rqb.  */
+                                                  return 1498;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx100xxxxx0x10x100101
+                                                     ld1rqh.  */
+                                                  return 1502;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
-                                              if (((word >> 21) & 0x1) == 0)
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx0xxxxxxxx110xxxxx0xx0x100100
+                                                     cmplt.  */
+                                                  return 1294;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx1xxxxxxxx110xxxxx0xx0x100100
+                                                     cmple.  */
+                                                  return 1288;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
                                                   if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0000x100001
-                                                         prfb.  */
-                                                      return 1677;
+                                                         xxxxxxxxxxxxx110xxxxx0000x100101
+                                                         ldff1b.  */
+                                                      return 1581;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0010x100001
-                                                         prfh.  */
-                                                      return 1691;
+                                                         xxxxxxxxxxxxx110xxxxx0010x100101
+                                                         ldff1sw.  */
+                                                      return 1624;
                                                     }
                                                 }
                                               else
@@ -6240,83 +6207,207 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx1000x100001
+                                                         xxxxxxxxxxxxx110xxxxx0100x100101
                                                          ldff1b.  */
-                                                      return 1557;
+                                                      return 1583;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx1010x100001
+                                                         xxxxxxxxxxxxx110xxxxx0110x100101
                                                          ldff1h.  */
-                                                      return 1574;
+                                                      return 1598;
                                                     }
                                                 }
                                             }
+                                        }
+                                    }
+                                }
+                              else
+                                {
+                                  if (((word >> 31) & 0x1) == 0)
+                                    {
+                                      /* 33222222222211111111110000000000
+                                         10987654321098765432109876543210
+                                         xxxxxxxxxxxxxxx0xxxxx0xx0x100110
+                                         fcmla.  */
+                                      return 1342;
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 13) & 0x1) == 0)
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxxxx0x0xxxxx00x0x100111
+                                                 st1b.  */
+                                              return 1803;
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx0x0xxxxx0100x100111
+                                                     st1b.  */
+                                                  return 1807;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx0x0xxxxx0110x100111
+                                                     st1h.  */
+                                                  return 1828;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx1x0xxxxx0000x100111
+                                                     stnt1b.  */
+                                                  return 1873;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx1x0xxxxx0010x100111
+                                                     stnt1h.  */
+                                                  return 1877;
+                                                }
+                                            }
                                           else
                                             {
                                               if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxxx100x100001
-                                                     ld1rb.  */
-                                                  return 1471;
+                                                     xxxxxxxxxxxxx1x0xxxxx0100x100111
+                                                     st3b.  */
+                                                  return 1857;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxxx110x100001
-                                                     ld1rh.  */
-                                                  return 1475;
+                                                     xxxxxxxxxxxxx1x0xxxxx0110x100111
+                                                     st3h.  */
+                                                  return 1861;
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                          else
+                            {
+                              if (((word >> 13) & 0x1) == 0)
+                                {
+                                  if (((word >> 30) & 0x1) == 0)
+                                    {
+                                      if (((word >> 14) & 0x1) == 0)
+                                        {
+                                          if (((word >> 4) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxx0xxxxxxxx001xxxxx0xx0x10010x
+                                                 cmpge.  */
+                                              return 1277;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxx1xxxxxxxx001xxxxx0xx0x10010x
+                                                 cmpgt.  */
+                                              return 1280;
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx0xxxxxxxx011xxxxx0xx0x100100
+                                                     cmphs.  */
+                                                  return 1286;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx1xxxxxxxx011xxxxx0xx0x100100
+                                                     cmphi.  */
+                                                  return 1283;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx011xxxxx0000x100101
+                                                         ldnt1b.  */
+                                                      return 1656;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx011xxxxx0010x100101
+                                                         ldnt1h.  */
+                                                      return 1660;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx011xxxxx0100x100101
+                                                         ld3b.  */
+                                                      return 1564;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx011xxxxx0110x100101
+                                                         ld3h.  */
+                                                      return 1568;
+                                                    }
                                                 }
                                             }
                                         }
                                     }
                                   else
                                     {
-                                      if (((word >> 21) & 0x1) == 0)
+                                      if (((word >> 31) & 0x1) == 0)
                                         {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx0000x10001x
-                                                     prfb.  */
-                                                  return 1679;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx0010x10001x
-                                                     prfh.  */
-                                                  return 1693;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx0100x10001x
-                                                     ldff1b.  */
-                                                  return 1556;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx0110x10001x
-                                                     ldff1h.  */
-                                                  return 1572;
-                                                }
-                                            }
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxx0x1xxxxx0xx0x100110
+                                             fcadd.  */
+                                          return 1341;
                                         }
                                       else
                                         {
@@ -6326,17 +6417,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx1000x10001x
-                                                     ldff1b.  */
-                                                  return 1558;
+                                                     xxxxxxxxxxxxx0x1xxxxx0000x100111
+                                                     st1b.  */
+                                                  return 1804;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx1010x10001x
-                                                     ldff1h.  */
-                                                  return 1575;
+                                                     xxxxxxxxxxxxx0x1xxxxx0010x100111
+                                                     st1h.  */
+                                                  return 1823;
                                                 }
                                             }
                                           else
@@ -6345,50 +6436,25 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx1100x10001x
-                                                     prfd.  */
-                                                  return 1683;
+                                                     xxxxxxxxxxxxx0x1xxxxx0100x100111
+                                                     st1b.  */
+                                                  return 1808;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx1110x10001x
-                                                     ldff1h.  */
-                                                  return 1573;
+                                                     xxxxxxxxxxxxx0x1xxxxx0110x100111
+                                                     st1h.  */
+                                                  return 1829;
                                                 }
                                             }
                                         }
                                     }
                                 }
-                            }
-                        }
-                      else
-                        {
-                          if (((word >> 21) & 0x1) == 0)
-                            {
-                              if (((word >> 14) & 0x1) == 0)
+                              else
                                 {
-                                  if (((word >> 15) & 0x1) == 0)
-                                    {
-                                      if (((word >> 4) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxx0xxxxxxxx100xxxxx0xx0x1001xx
-                                             cmpeq.  */
-                                          return 1270;
-                                        }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxx1xxxxxxxx100xxxxx0xx0x1001xx
-                                             cmpne.  */
-                                          return 1293;
-                                        }
-                                    }
-                                  else
+                                  if (((word >> 14) & 0x1) == 0)
                                     {
                                       if (((word >> 30) & 0x1) == 0)
                                         {
@@ -6400,7 +6466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxx0xxxxxxxx101xxxxx0xx0x100100
                                                      cmpeq.  */
-                                                  return 1271;
+                                                  return 1274;
                                                 }
                                               else
                                                 {
@@ -6408,7 +6474,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxx1xxxxxxxx101xxxxx0xx0x100100
                                                      cmpne.  */
-                                                  return 1294;
+                                                  return 1297;
                                                 }
                                             }
                                           else
@@ -6423,7 +6489,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx101xxxx00000x100101
                                                              ld1b.  */
-                                                          return 1442;
+                                                          return 1464;
                                                         }
                                                       else
                                                         {
@@ -6431,7 +6497,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx101xxxx00010x100101
                                                              ld1sw.  */
-                                                          return 1512;
+                                                          return 1542;
                                                         }
                                                     }
                                                   else
@@ -6442,7 +6508,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx101xxxx00100x100101
                                                              ld1b.  */
-                                                          return 1444;
+                                                          return 1466;
                                                         }
                                                       else
                                                         {
@@ -6450,7 +6516,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx101xxxx00110x100101
                                                              ld1h.  */
-                                                          return 1465;
+                                                          return 1487;
                                                         }
                                                     }
                                                 }
@@ -6464,7 +6530,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx101xxxx10000x100101
                                                              ldnf1b.  */
-                                                          return 1610;
+                                                          return 1640;
                                                         }
                                                       else
                                                         {
@@ -6472,7 +6538,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx101xxxx10010x100101
                                                              ldnf1sw.  */
-                                                          return 1623;
+                                                          return 1653;
                                                         }
                                                     }
                                                   else
@@ -6483,7 +6549,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx101xxxx10100x100101
                                                              ldnf1b.  */
-                                                          return 1612;
+                                                          return 1642;
                                                         }
                                                       else
                                                         {
@@ -6491,7 +6557,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx101xxxx10110x100101
                                                              ldnf1h.  */
-                                                          return 1616;
+                                                          return 1646;
                                                         }
                                                     }
                                                 }
@@ -6507,7 +6573,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx101xxxxx0000x10011x
                                                      st1b.  */
-                                                  return 1769;
+                                                  return 1805;
                                                 }
                                               else
                                                 {
@@ -6515,7 +6581,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx101xxxxx0010x10011x
                                                      st1h.  */
-                                                  return 1788;
+                                                  return 1824;
                                                 }
                                             }
                                           else
@@ -6526,7 +6592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx101xxxxx0100x10011x
                                                      st1b.  */
-                                                  return 1776;
+                                                  return 1812;
                                                 }
                                               else
                                                 {
@@ -6534,15 +6600,12 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx101xxxxx0110x10011x
                                                      st1h.  */
-                                                  return 1797;
+                                                  return 1833;
                                                 }
                                             }
                                         }
                                     }
-                                }
-                              else
-                                {
-                                  if (((word >> 15) & 0x1) == 0)
+                                  else
                                     {
                                       if (((word >> 30) & 0x1) == 0)
                                         {
@@ -6552,17 +6615,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxx0xxxxxxxx110xxxxx0xx0x100100
-                                                     cmplt.  */
-                                                  return 1291;
+                                                     xxxx0xxxxxxxx111xxxxx0xx0x100100
+                                                     cmplo.  */
+                                                  return 1290;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxx1xxxxxxxx110xxxxx0xx0x100100
-                                                     cmple.  */
-                                                  return 1285;
+                                                     xxxx1xxxxxxxx111xxxxx0xx0x100100
+                                                     cmpls.  */
+                                                  return 1292;
                                                 }
                                             }
                                           else
@@ -6573,17 +6636,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0000x100101
-                                                         ldff1b.  */
-                                                      return 1551;
+                                                         xxxxxxxxxxxxx111xxxxx0000x100101
+                                                         ldnt1b.  */
+                                                      return 1657;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0010x100101
-                                                         ldff1sw.  */
-                                                      return 1594;
+                                                         xxxxxxxxxxxxx111xxxxx0010x100101
+                                                         ldnt1h.  */
+                                                      return 1661;
                                                     }
                                                 }
                                               else
@@ -6592,22 +6655,127 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0100x100101
-                                                         ldff1b.  */
-                                                      return 1553;
+                                                         xxxxxxxxxxxxx111xxxxx0100x100101
+                                                         ld3b.  */
+                                                      return 1565;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0110x100101
-                                                         ldff1h.  */
-                                                      return 1568;
+                                                         xxxxxxxxxxxxx111xxxxx0110x100101
+                                                         ld3h.  */
+                                                      return 1569;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 20) & 0x1) == 0)
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx111xxxx000x0x10011x
+                                                     st1b.  */
+                                                  return 1810;
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx111xxxx00100x10011x
+                                                         st1b.  */
+                                                      return 1813;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx111xxxx00110x10011x
+                                                         st1h.  */
+                                                      return 1834;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx111xxxx10000x10011x
+                                                         stnt1b.  */
+                                                      return 1874;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx111xxxx10010x10011x
+                                                         stnt1h.  */
+                                                      return 1878;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx111xxxx10100x10011x
+                                                         st3b.  */
+                                                      return 1858;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx111xxxx10110x10011x
+                                                         st3h.  */
+                                                      return 1862;
                                                     }
                                                 }
                                             }
                                         }
+                                    }
+                                }
+                            }
+                        }
+                      else
+                        {
+                          if (((word >> 13) & 0x1) == 0)
+                            {
+                              if (((word >> 30) & 0x1) == 0)
+                                {
+                                  if (((word >> 31) & 0x1) == 0)
+                                    {
+                                      if (((word >> 4) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxx0xxxxxxxx0xxxxxxx1xx0x100100
+                                             cmphs.  */
+                                          return 1287;
+                                        }
                                       else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxx1xxxxxxxx0xxxxxxx1xx0x100100
+                                             cmphi.  */
+                                          return 1284;
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 15) & 0x1) == 0)
                                         {
                                           if (((word >> 22) & 0x1) == 0)
                                             {
@@ -6615,17 +6783,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx0000x10011x
-                                                     stnt1b.  */
-                                                  return 1837;
+                                                     xxxxxxxxxxxxx0x0xxxxx1000x100101
+                                                     ld1b.  */
+                                                  return 1458;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx0010x10011x
-                                                     stnt1h.  */
-                                                  return 1841;
+                                                     xxxxxxxxxxxxx0x0xxxxx1010x100101
+                                                     ld1h.  */
+                                                  return 1478;
                                                 }
                                             }
                                           else
@@ -6634,63 +6802,99 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx0100x10011x
-                                                     st3b.  */
-                                                  return 1821;
+                                                     xxxxxxxxxxxxx0x0xxxxx1100x100101
+                                                     ld1b.  */
+                                                  return 1460;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx0110x10011x
-                                                     st3h.  */
-                                                  return 1825;
+                                                     xxxxxxxxxxxxx0x0xxxxx1110x100101
+                                                     ld1h.  */
+                                                  return 1480;
                                                 }
                                             }
                                         }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 30) & 0x1) == 0)
+                                      else
                                         {
-                                          if (((word >> 31) & 0x1) == 0)
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx0x1xxxxx1000x100101
+                                                     ld2b.  */
+                                                  return 1556;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx0x1xxxxx1010x100101
+                                                     ld2h.  */
+                                                  return 1560;
+                                                }
+                                            }
+                                          else
                                             {
-                                              if (((word >> 4) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxx0xxxxxxxx111xxxxx0xx0x100100
-                                                     cmplo.  */
-                                                  return 1287;
+                                                     xxxxxxxxxxxxx0x1xxxxx1100x100101
+                                                     ld4b.  */
+                                                  return 1572;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxx1xxxxxxxx111xxxxx0xx0x100100
-                                                     cmpls.  */
-                                                  return 1289;
+                                                     xxxxxxxxxxxxx0x1xxxxx1110x100101
+                                                     ld4h.  */
+                                                  return 1576;
                                                 }
                                             }
-                                          else
+                                        }
+                                    }
+                                }
+                              else
+                                {
+                                  if (((word >> 15) & 0x1) == 0)
+                                    {
+                                      if (((word >> 14) & 0x1) == 0)
+                                        {
+                                          if (((word >> 12) & 0x1) == 0)
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 10) & 0x1) == 0)
                                                 {
                                                   if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0000x100101
-                                                         ldnt1b.  */
-                                                      return 1627;
+                                                         xxxxxxxxxx0x0000xxxxx1x00x10011x
+                                                         fmla.  */
+                                                      return 1395;
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0010x100101
-                                                         ldnt1h.  */
-                                                      return 1631;
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx0x0000xxxxx1010x10011x
+                                                             fmla.  */
+                                                          return 1396;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx0x0000xxxxx1110x10011x
+                                                             fmla.  */
+                                                          return 1397;
+                                                        }
                                                     }
                                                 }
                                               else
@@ -6699,96 +6903,112 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0100x100101
-                                                         ld3b.  */
-                                                      return 1535;
+                                                         xxxxxxxxxx1x0000xxxxx1x00x10011x
+                                                         fmls.  */
+                                                      return 1399;
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0110x100101
-                                                         ld3h.  */
-                                                      return 1539;
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx1x0000xxxxx1010x10011x
+                                                             fmls.  */
+                                                          return 1400;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx1x0000xxxxx1110x10011x
+                                                             fmls.  */
+                                                          return 1401;
+                                                        }
                                                     }
                                                 }
                                             }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxx1000xxxxx10x0x10011x
+                                                     fcmla.  */
+                                                  return 1343;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxx1000xxxxx11x0x10011x
+                                                     fcmla.  */
+                                                  return 1344;
+                                                }
+                                            }
                                         }
                                       else
                                         {
-                                          if (((word >> 20) & 0x1) == 0)
+                                          if (((word >> 22) & 0x1) == 0)
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxx000x0x10011x
+                                                     xxxxxxxxxxxxx010xxxxx1000x10011x
                                                      st1b.  */
-                                                  return 1774;
+                                                  return 1806;
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx00100x10011x
-                                                         st1b.  */
-                                                      return 1777;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx00110x10011x
-                                                         st1h.  */
-                                                      return 1798;
-                                                    }
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx010xxxxx1010x10011x
+                                                     st1h.  */
+                                                  return 1825;
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx10000x10011x
-                                                         stnt1b.  */
-                                                      return 1838;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx10010x10011x
-                                                         stnt1h.  */
-                                                      return 1842;
-                                                    }
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx010xxxxx1100x10011x
+                                                     st1b.  */
+                                                  return 1809;
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx10100x10011x
-                                                         st3b.  */
-                                                      return 1822;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx10110x10011x
-                                                         st3h.  */
-                                                      return 1826;
-                                                    }
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx010xxxxx1110x10011x
+                                                     st1h.  */
+                                                  return 1830;
                                                 }
                                             }
                                         }
                                     }
+                                  else
+                                    {
+                                      if (((word >> 22) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxx0x1xxxxx10x0x10011x
+                                             st1h.  */
+                                          return 1826;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxx0x1xxxxx11x0x10011x
+                                             st1h.  */
+                                          return 1831;
+                                        }
+                                    }
                                 }
                             }
                           else
@@ -6803,7 +7023,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxx0xxxxxxxx1xxxxxxx1xx0x100100
                                              cmplo.  */
-                                          return 1288;
+                                          return 1291;
                                         }
                                       else
                                         {
@@ -6811,7 +7031,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxx1xxxxxxxx1xxxxxxx1xx0x100100
                                              cmpls.  */
-                                          return 1290;
+                                          return 1293;
                                         }
                                     }
                                   else
@@ -6828,7 +7048,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx10xxxxx01000x100101
                                                          ld1b.  */
-                                                      return 1443;
+                                                      return 1465;
                                                     }
                                                   else
                                                     {
@@ -6836,7 +7056,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx10xxxxx01010x100101
                                                          ld1h.  */
-                                                      return 1464;
+                                                      return 1486;
                                                     }
                                                 }
                                               else
@@ -6847,7 +7067,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx10xxxxx01100x100101
                                                          ld1b.  */
-                                                      return 1445;
+                                                      return 1467;
                                                     }
                                                   else
                                                     {
@@ -6855,7 +7075,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx10xxxxx01110x100101
                                                          ld1h.  */
-                                                      return 1466;
+                                                      return 1488;
                                                     }
                                                 }
                                             }
@@ -6869,7 +7089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx10xxxxx11000x100101
                                                          ldnf1b.  */
-                                                      return 1611;
+                                                      return 1641;
                                                     }
                                                   else
                                                     {
@@ -6877,7 +7097,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx10xxxxx11010x100101
                                                          ldnf1h.  */
-                                                      return 1615;
+                                                      return 1645;
                                                     }
                                                 }
                                               else
@@ -6888,7 +7108,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx10xxxxx11100x100101
                                                          ldnf1b.  */
-                                                      return 1613;
+                                                      return 1643;
                                                     }
                                                   else
                                                     {
@@ -6896,7 +7116,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx10xxxxx11110x100101
                                                          ldnf1h.  */
-                                                      return 1617;
+                                                      return 1647;
                                                     }
                                                 }
                                             }
@@ -6913,7 +7133,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx110xxxxx1000x100101
                                                          ldff1b.  */
-                                                      return 1552;
+                                                      return 1582;
                                                     }
                                                   else
                                                     {
@@ -6921,7 +7141,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx110xxxxx1010x100101
                                                          ldff1h.  */
-                                                      return 1567;
+                                                      return 1597;
                                                     }
                                                 }
                                               else
@@ -6932,7 +7152,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx110xxxxx1100x100101
                                                          ldff1b.  */
-                                                      return 1554;
+                                                      return 1584;
                                                     }
                                                   else
                                                     {
@@ -6940,7 +7160,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx110xxxxx1110x100101
                                                          ldff1h.  */
-                                                      return 1569;
+                                                      return 1599;
                                                     }
                                                 }
                                             }
@@ -6954,7 +7174,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxxx1000x100101
                                                          ld2b.  */
-                                                      return 1527;
+                                                      return 1557;
                                                     }
                                                   else
                                                     {
@@ -6962,7 +7182,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxxx1010x100101
                                                          ld2h.  */
-                                                      return 1531;
+                                                      return 1561;
                                                     }
                                                 }
                                               else
@@ -6973,7 +7193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxxx1100x100101
                                                          ld4b.  */
-                                                      return 1543;
+                                                      return 1573;
                                                     }
                                                   else
                                                     {
@@ -6981,7 +7201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxxx1110x100101
                                                          ld4h.  */
-                                                      return 1547;
+                                                      return 1577;
                                                     }
                                                 }
                                             }
@@ -6992,31 +7212,64 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   if (((word >> 14) & 0x1) == 0)
                                     {
-                                      if (((word >> 22) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxxxxxxxxxxx10xxxxxx10x0x10011x
-                                             st1h.  */
-                                          return 1791;
-                                        }
-                                      else
+                                      if (((word >> 15) & 0x1) == 0)
                                         {
                                           if (((word >> 23) & 0x1) == 0)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx10xxxxxx1100x10011x
-                                                 st1b.  */
-                                              return 1778;
+                                                 xxxxxxxxxxxxx100xxxxx1x00x10011x
+                                                 fmul.  */
+                                              return 1406;
                                             }
                                           else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx100xxxxx1010x10011x
+                                                     fmul.  */
+                                                  return 1407;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx100xxxxx1110x10011x
+                                                     fmul.  */
+                                                  return 1408;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx10xxxxxx1110x10011x
+                                                 xxxxxxxxxxxxx101xxxxx10x0x10011x
                                                  st1h.  */
-                                              return 1799;
+                                              return 1827;
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx101xxxxx1100x10011x
+                                                     st1b.  */
+                                                  return 1814;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx101xxxxx1110x10011x
+                                                     st1h.  */
+                                                  return 1835;
+                                                }
                                             }
                                         }
                                     }
@@ -7032,7 +7285,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx110xxxxx1000x10011x
                                                      st2b.  */
-                                                  return 1813;
+                                                  return 1849;
                                                 }
                                               else
                                                 {
@@ -7040,7 +7293,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx110xxxxx1010x10011x
                                                      st2h.  */
-                                                  return 1817;
+                                                  return 1853;
                                                 }
                                             }
                                           else
@@ -7051,7 +7304,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx110xxxxx1100x10011x
                                                      st4b.  */
-                                                  return 1829;
+                                                  return 1865;
                                                 }
                                               else
                                                 {
@@ -7059,7 +7312,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx110xxxxx1110x10011x
                                                      st4h.  */
-                                                  return 1833;
+                                                  return 1869;
                                                 }
                                             }
                                         }
@@ -7075,7 +7328,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxx01000x10011x
                                                          st1b.  */
-                                                      return 1775;
+                                                      return 1811;
                                                     }
                                                   else
                                                     {
@@ -7083,7 +7336,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxx01010x10011x
                                                          st1h.  */
-                                                      return 1796;
+                                                      return 1832;
                                                     }
                                                 }
                                               else
@@ -7094,7 +7347,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxx01100x10011x
                                                          st1b.  */
-                                                      return 1779;
+                                                      return 1815;
                                                     }
                                                   else
                                                     {
@@ -7102,7 +7355,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxx01110x10011x
                                                          st1h.  */
-                                                      return 1800;
+                                                      return 1836;
                                                     }
                                                 }
                                             }
@@ -7116,7 +7369,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxx11000x10011x
                                                          st2b.  */
-                                                      return 1814;
+                                                      return 1850;
                                                     }
                                                   else
                                                     {
@@ -7124,7 +7377,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxx11010x10011x
                                                          st2h.  */
-                                                      return 1818;
+                                                      return 1854;
                                                     }
                                                 }
                                               else
@@ -7135,7 +7388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxx11100x10011x
                                                          st4b.  */
-                                                      return 1830;
+                                                      return 1866;
                                                     }
                                                   else
                                                     {
@@ -7143,7 +7396,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxx11110x10011x
                                                          st4h.  */
-                                                      return 1834;
+                                                      return 1870;
                                                     }
                                                 }
                                             }
@@ -7174,7 +7427,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxxxxxxx00001x100000
                                                  orr.  */
-                                              return 1665;
+                                              return 1695;
                                             }
                                           else
                                             {
@@ -7182,7 +7435,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxxxxxxx00011x100000
                                                  and.  */
-                                              return 1236;
+                                              return 1239;
                                             }
                                         }
                                       else
@@ -7193,7 +7446,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxxxxxxx00101x100000
                                                  eor.  */
-                                              return 1323;
+                                              return 1326;
                                             }
                                           else
                                             {
@@ -7201,7 +7454,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxxxxxxx00111x100000
                                                  dupm.  */
-                                              return 1321;
+                                              return 1324;
                                             }
                                         }
                                     }
@@ -7213,7 +7466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxx10xx1x100000
                                              cpy.  */
-                                          return 1306;
+                                          return 1309;
                                         }
                                       else
                                         {
@@ -7221,7 +7474,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxx10xx1x100000
                                              fcpy.  */
-                                          return 1349;
+                                          return 1356;
                                         }
                                     }
                                 }
@@ -7237,7 +7490,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx000xxxxx1xx1x100000
                                                  ext.  */
-                                              return 1328;
+                                              return 1331;
                                             }
                                           else
                                             {
@@ -7253,7 +7506,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0010000x1xx1x100000
                                                                  cpy.  */
-                                                              return 1304;
+                                                              return 1307;
                                                             }
                                                           else
                                                             {
@@ -7261,7 +7514,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0010001x1xx1x100000
                                                                  clasta.  */
-                                                              return 1262;
+                                                              return 1265;
                                                             }
                                                         }
                                                       else
@@ -7272,7 +7525,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0010010x1xx1x100000
                                                                  revb.  */
-                                                              return 1713;
+                                                              return 1743;
                                                             }
                                                           else
                                                             {
@@ -7280,7 +7533,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0010011x1xx1x100000
                                                                  splice.  */
-                                                              return 1734;
+                                                              return 1770;
                                                             }
                                                         }
                                                     }
@@ -7294,7 +7547,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0010100x1xx1x100000
                                                                  lasta.  */
-                                                              return 1431;
+                                                              return 1453;
                                                             }
                                                           else
                                                             {
@@ -7302,7 +7555,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0010101x1xx1x100000
                                                                  clasta.  */
-                                                              return 1263;
+                                                              return 1266;
                                                             }
                                                         }
                                                       else
@@ -7311,7 +7564,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx001011xx1xx1x100000
                                                              revw.  */
-                                                          return 1715;
+                                                          return 1745;
                                                         }
                                                     }
                                                 }
@@ -7327,7 +7580,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0011000x1xx1x100000
                                                                  compact.  */
-                                                              return 1303;
+                                                              return 1306;
                                                             }
                                                           else
                                                             {
@@ -7335,7 +7588,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0011001x1xx1x100000
                                                                  clastb.  */
-                                                              return 1265;
+                                                              return 1268;
                                                             }
                                                         }
                                                       else
@@ -7344,7 +7597,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx001101xx1xx1x100000
                                                              revh.  */
-                                                          return 1714;
+                                                          return 1744;
                                                         }
                                                     }
                                                   else
@@ -7357,7 +7610,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0011100x1xx1x100000
                                                                  lastb.  */
-                                                              return 1433;
+                                                              return 1455;
                                                             }
                                                           else
                                                             {
@@ -7365,7 +7618,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx0011101x1xx1x100000
                                                                  clastb.  */
-                                                              return 1266;
+                                                              return 1269;
                                                             }
                                                         }
                                                       else
@@ -7374,7 +7627,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx001111xx1xx1x100000
                                                              rbit.  */
-                                                          return 1706;
+                                                          return 1736;
                                                         }
                                                     }
                                                 }
@@ -7392,7 +7645,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxx00100xxxxx1xx1x100000
                                                          dup.  */
-                                                      return 1319;
+                                                      return 1322;
                                                     }
                                                   else
                                                     {
@@ -7400,7 +7653,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxx01100xxxxx1xx1x100000
                                                          tbl.  */
-                                                      return 1857;
+                                                      return 1893;
                                                     }
                                                 }
                                               else
@@ -7419,7 +7672,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxxx1x100000001xx1x100000
                                                                          dup.  */
-                                                                      return 1318;
+                                                                      return 1321;
                                                                     }
                                                                   else
                                                                     {
@@ -7427,7 +7680,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxxx1x100000011xx1x100000
                                                                          sunpklo.  */
-                                                                      return 1853;
+                                                                      return 1889;
                                                                     }
                                                                 }
                                                               else
@@ -7436,7 +7689,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxx1x1000001x1xx1x100000
                                                                      rev.  */
-                                                                  return 1712;
+                                                                  return 1742;
                                                                 }
                                                             }
                                                           else
@@ -7447,7 +7700,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxx1x100001x01xx1x100000
                                                                      insr.  */
-                                                                  return 1428;
+                                                                  return 1450;
                                                                 }
                                                               else
                                                                 {
@@ -7455,7 +7708,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxx1x100001x11xx1x100000
                                                                      insr.  */
-                                                                  return 1429;
+                                                                  return 1451;
                                                                 }
                                                             }
                                                         }
@@ -7465,7 +7718,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxx1x10001xxx1xx1x100000
                                                              uunpklo.  */
-                                                          return 1910;
+                                                          return 1952;
                                                         }
                                                     }
                                                   else
@@ -7476,7 +7729,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxx1x10010xxx1xx1x100000
                                                              sunpkhi.  */
-                                                          return 1852;
+                                                          return 1888;
                                                         }
                                                       else
                                                         {
@@ -7484,7 +7737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxx1x10011xxx1xx1x100000
                                                              uunpkhi.  */
-                                                          return 1909;
+                                                          return 1951;
                                                         }
                                                     }
                                                 }
@@ -7501,7 +7754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx1010xx001xx1x100000
                                                              lasta.  */
-                                                          return 1430;
+                                                          return 1452;
                                                         }
                                                       else
                                                         {
@@ -7509,7 +7762,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx1010xx011xx1x100000
                                                              clasta.  */
-                                                          return 1264;
+                                                          return 1267;
                                                         }
                                                     }
                                                   else
@@ -7518,7 +7771,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx1010xx1x1xx1x100000
                                                          cpy.  */
-                                                      return 1305;
+                                                      return 1308;
                                                     }
                                                 }
                                               else
@@ -7529,7 +7782,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx1011xxx01xx1x100000
                                                          lastb.  */
-                                                      return 1432;
+                                                      return 1454;
                                                     }
                                                   else
                                                     {
@@ -7537,7 +7790,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx1011xxx11xx1x100000
                                                          clastb.  */
-                                                      return 1267;
+                                                      return 1270;
                                                     }
                                                 }
                                             }
@@ -7561,7 +7814,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010xxxx01xx1x100000
                                                                  zip1.  */
-                                                              return 1927;
+                                                              return 1969;
                                                             }
                                                           else
                                                             {
@@ -7573,7 +7826,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0000100x0x11xx1x100000
                                                                          punpklo.  */
-                                                                      return 1705;
+                                                                      return 1735;
                                                                     }
                                                                   else
                                                                     {
@@ -7581,7 +7834,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0000100x1x11xx1x100000
                                                                          rev.  */
-                                                                      return 1711;
+                                                                      return 1741;
                                                                     }
                                                                 }
                                                               else
@@ -7590,7 +7843,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0000101xxx11xx1x100000
                                                                      punpkhi.  */
-                                                                  return 1704;
+                                                                  return 1734;
                                                                 }
                                                             }
                                                         }
@@ -7600,7 +7853,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000110xxxxx1xx1x100000
                                                              zip1.  */
-                                                          return 1928;
+                                                          return 1970;
                                                         }
                                                     }
                                                   else
@@ -7611,7 +7864,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx001010xxxxx1xx1x100000
                                                              trn1.  */
-                                                          return 1858;
+                                                          return 1894;
                                                         }
                                                       else
                                                         {
@@ -7619,7 +7872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx001110xxxxx1xx1x100000
                                                              trn1.  */
-                                                          return 1859;
+                                                          return 1895;
                                                         }
                                                     }
                                                 }
@@ -7631,7 +7884,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01x010xxxxx1xx1x100000
                                                          uzp1.  */
-                                                      return 1914;
+                                                      return 1956;
                                                     }
                                                   else
                                                     {
@@ -7639,7 +7892,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01x110xxxxx1xx1x100000
                                                          uzp1.  */
-                                                      return 1915;
+                                                      return 1957;
                                                     }
                                                 }
                                             }
@@ -7655,7 +7908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100010xxxxx1xx1x100000
                                                              zip2.  */
-                                                          return 1929;
+                                                          return 1971;
                                                         }
                                                       else
                                                         {
@@ -7663,7 +7916,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100110xxxxx1xx1x100000
                                                              zip2.  */
-                                                          return 1930;
+                                                          return 1972;
                                                         }
                                                     }
                                                   else
@@ -7674,7 +7927,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101010xxxxx1xx1x100000
                                                              trn2.  */
-                                                          return 1860;
+                                                          return 1896;
                                                         }
                                                       else
                                                         {
@@ -7682,7 +7935,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101110xxxxx1xx1x100000
                                                              trn2.  */
-                                                          return 1861;
+                                                          return 1897;
                                                         }
                                                     }
                                                 }
@@ -7694,7 +7947,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11x010xxxxx1xx1x100000
                                                          uzp2.  */
-                                                      return 1916;
+                                                      return 1958;
                                                     }
                                                   else
                                                     {
@@ -7702,7 +7955,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11x110xxxxx1xx1x100000
                                                          uzp2.  */
-                                                      return 1917;
+                                                      return 1959;
                                                     }
                                                 }
                                             }
@@ -7713,7 +7966,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxx11xxxxx1xx1x100000
                                              sel.  */
-                                          return 1724;
+                                          return 1760;
                                         }
                                     }
                                 }
@@ -7732,7 +7985,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx000xxxxxx0x1x100001
                                                  ldr.  */
-                                              return 1634;
+                                              return 1664;
                                             }
                                           else
                                             {
@@ -7740,7 +7993,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx000xxxxxx1x1x100001
                                                  prfb.  */
-                                              return 1678;
+                                              return 1708;
                                             }
                                         }
                                       else
@@ -7751,7 +8004,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx001xxxxxxx01x100001
                                                  ld1rsh.  */
-                                              return 1479;
+                                              return 1509;
                                             }
                                           else
                                             {
@@ -7759,7 +8012,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx001xxxxxxx11x100001
                                                  ld1rsb.  */
-                                              return 1476;
+                                              return 1506;
                                             }
                                         }
                                     }
@@ -7775,7 +8028,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx010xxxxx0x01x100001
                                                      ld1w.  */
-                                                  return 1514;
+                                                  return 1544;
                                                 }
                                               else
                                                 {
@@ -7783,7 +8036,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx010xxxxx1x01x100001
                                                      ld1w.  */
-                                                  return 1515;
+                                                  return 1545;
                                                 }
                                             }
                                           else
@@ -7794,7 +8047,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx010xxxxxx011x100001
                                                      ldr.  */
-                                                  return 1635;
+                                                  return 1665;
                                                 }
                                               else
                                                 {
@@ -7802,7 +8055,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx010xxxxxx111x100001
                                                      prfw.  */
-                                                  return 1699;
+                                                  return 1729;
                                                 }
                                             }
                                         }
@@ -7818,7 +8071,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx011xxxxx0001x100001
                                                          prfw.  */
-                                                      return 1695;
+                                                      return 1725;
                                                     }
                                                   else
                                                     {
@@ -7826,7 +8079,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx011xxxxx0011x100001
                                                          prfd.  */
-                                                      return 1681;
+                                                      return 1711;
                                                     }
                                                 }
                                               else
@@ -7835,7 +8088,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx011xxxxx10x1x100001
                                                      ld1w.  */
-                                                  return 1522;
+                                                  return 1552;
                                                 }
                                             }
                                           else
@@ -7846,7 +8099,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx011xxxxxx101x100001
                                                      ld1rw.  */
-                                                  return 1482;
+                                                  return 1512;
                                                 }
                                               else
                                                 {
@@ -7854,7 +8107,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx011xxxxxx111x100001
                                                      ld1rsb.  */
-                                                  return 1478;
+                                                  return 1508;
                                                 }
                                             }
                                         }
@@ -7870,7 +8123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx100xxxxxxxx1x100001
                                              prfh.  */
-                                          return 1692;
+                                          return 1722;
                                         }
                                       else
                                         {
@@ -7880,7 +8133,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx101xxxxxxx01x100001
                                                  ld1rsh.  */
-                                              return 1480;
+                                              return 1510;
                                             }
                                           else
                                             {
@@ -7888,7 +8141,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx101xxxxxxx11x100001
                                                  ld1rsb.  */
-                                              return 1477;
+                                              return 1507;
                                             }
                                         }
                                     }
@@ -7904,7 +8157,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx110xxxxx0x01x100001
                                                      ldff1w.  */
-                                                  return 1600;
+                                                  return 1630;
                                                 }
                                               else
                                                 {
@@ -7912,7 +8165,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx110xxxxx1x01x100001
                                                      ldff1w.  */
-                                                  return 1601;
+                                                  return 1631;
                                                 }
                                             }
                                           else
@@ -7921,7 +8174,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx110xxxxxxx11x100001
                                                  prfd.  */
-                                              return 1685;
+                                              return 1715;
                                             }
                                         }
                                       else
@@ -7936,7 +8189,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxxx0001x100001
                                                          prfw.  */
-                                                      return 1698;
+                                                      return 1728;
                                                     }
                                                   else
                                                     {
@@ -7944,7 +8197,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxxx0011x100001
                                                          prfd.  */
-                                                      return 1684;
+                                                      return 1714;
                                                     }
                                                 }
                                               else
@@ -7953,7 +8206,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx111xxxxx10x1x100001
                                                      ldff1w.  */
-                                                  return 1608;
+                                                  return 1638;
                                                 }
                                             }
                                           else
@@ -7964,7 +8217,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx111xxxxxx101x100001
                                                      ld1rw.  */
-                                                  return 1483;
+                                                  return 1513;
                                                 }
                                               else
                                                 {
@@ -7972,7 +8225,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx111xxxxxx111x100001
                                                      ld1rd.  */
-                                                  return 1472;
+                                                  return 1494;
                                                 }
                                             }
                                         }
@@ -7994,7 +8247,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx000xxxxx0xx1x10001x
                                              ld1sw.  */
-                                          return 1508;
+                                          return 1538;
                                         }
                                       else
                                         {
@@ -8002,7 +8255,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx000xxxxx1xx1x10001x
                                              ld1sw.  */
-                                          return 1509;
+                                          return 1539;
                                         }
                                     }
                                   else
@@ -8013,7 +8266,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx001xxxxx0xx1x10001x
                                              ld1sw.  */
-                                          return 1510;
+                                          return 1540;
                                         }
                                       else
                                         {
@@ -8023,7 +8276,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx001xxxxx10x1x10001x
                                                  ld1sw.  */
-                                              return 1513;
+                                              return 1543;
                                             }
                                           else
                                             {
@@ -8031,7 +8284,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx001xxxxx11x1x10001x
                                                  ld1sw.  */
-                                              return 1511;
+                                              return 1541;
                                             }
                                         }
                                     }
@@ -8048,7 +8301,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx010xxxxx0x01x10001x
                                                  ld1w.  */
-                                              return 1518;
+                                              return 1548;
                                             }
                                           else
                                             {
@@ -8056,7 +8309,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx010xxxxx0x11x10001x
                                                  ld1d.  */
-                                              return 1448;
+                                              return 1470;
                                             }
                                         }
                                       else
@@ -8067,7 +8320,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx010xxxxx1x01x10001x
                                                  ld1w.  */
-                                              return 1519;
+                                              return 1549;
                                             }
                                           else
                                             {
@@ -8075,7 +8328,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx010xxxxx1x11x10001x
                                                  ld1d.  */
-                                              return 1449;
+                                              return 1471;
                                             }
                                         }
                                     }
@@ -8089,7 +8342,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx011xxxxx0x01x10001x
                                                  ld1w.  */
-                                              return 1520;
+                                              return 1550;
                                             }
                                           else
                                             {
@@ -8097,7 +8350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx011xxxxx0x11x10001x
                                                  ld1d.  */
-                                              return 1450;
+                                              return 1472;
                                             }
                                         }
                                       else
@@ -8110,7 +8363,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx011xxxxx1001x10001x
                                                      ld1w.  */
-                                                  return 1525;
+                                                  return 1555;
                                                 }
                                               else
                                                 {
@@ -8118,7 +8371,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx011xxxxx1011x10001x
                                                      ld1d.  */
-                                                  return 1453;
+                                                  return 1475;
                                                 }
                                             }
                                           else
@@ -8129,7 +8382,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx011xxxxx1101x10001x
                                                      ld1w.  */
-                                                  return 1521;
+                                                  return 1551;
                                                 }
                                               else
                                                 {
@@ -8137,7 +8390,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx011xxxxx1111x10001x
                                                      ld1d.  */
-                                                  return 1451;
+                                                  return 1473;
                                                 }
                                             }
                                         }
@@ -8156,7 +8409,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx100xxxxx0xx1x10001x
                                              ldff1sw.  */
-                                          return 1595;
+                                          return 1625;
                                         }
                                       else
                                         {
@@ -8164,7 +8417,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx100xxxxx1xx1x10001x
                                              ldff1sw.  */
-                                          return 1596;
+                                          return 1626;
                                         }
                                     }
                                   else
@@ -8175,7 +8428,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx101xxxxx0xx1x10001x
                                              ldff1sw.  */
-                                          return 1597;
+                                          return 1627;
                                         }
                                       else
                                         {
@@ -8185,7 +8438,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx101xxxxx10x1x10001x
                                                  ldff1sw.  */
-                                              return 1599;
+                                              return 1629;
                                             }
                                           else
                                             {
@@ -8193,7 +8446,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx101xxxxx11x1x10001x
                                                  ldff1sw.  */
-                                              return 1598;
+                                              return 1628;
                                             }
                                         }
                                     }
@@ -8210,7 +8463,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx110xxxxx0x01x10001x
                                                  ldff1w.  */
-                                              return 1604;
+                                              return 1634;
                                             }
                                           else
                                             {
@@ -8218,7 +8471,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx110xxxxx0x11x10001x
                                                  ldff1d.  */
-                                              return 1560;
+                                              return 1590;
                                             }
                                         }
                                       else
@@ -8229,7 +8482,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx110xxxxx1x01x10001x
                                                  ldff1w.  */
-                                              return 1605;
+                                              return 1635;
                                             }
                                           else
                                             {
@@ -8237,7 +8490,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx110xxxxx1x11x10001x
                                                  ldff1d.  */
-                                              return 1561;
+                                              return 1591;
                                             }
                                         }
                                     }
@@ -8253,7 +8506,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx111xxxxx0001x10001x
                                                      prfw.  */
-                                                  return 1700;
+                                                  return 1730;
                                                 }
                                               else
                                                 {
@@ -8261,7 +8514,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx111xxxxx0011x10001x
                                                      prfd.  */
-                                                  return 1686;
+                                                  return 1716;
                                                 }
                                             }
                                           else
@@ -8272,7 +8525,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx111xxxxx0101x10001x
                                                      ldff1w.  */
-                                                  return 1606;
+                                                  return 1636;
                                                 }
                                               else
                                                 {
@@ -8280,7 +8533,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx111xxxxx0111x10001x
                                                      ldff1d.  */
-                                                  return 1562;
+                                                  return 1592;
                                                 }
                                             }
                                         }
@@ -8294,7 +8547,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx111xxxxx1001x10001x
                                                      ldff1w.  */
-                                                  return 1609;
+                                                  return 1639;
                                                 }
                                               else
                                                 {
@@ -8302,7 +8555,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx111xxxxx1011x10001x
                                                      ldff1d.  */
-                                                  return 1564;
+                                                  return 1594;
                                                 }
                                             }
                                           else
@@ -8313,7 +8566,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx111xxxxx1101x10001x
                                                      ldff1w.  */
-                                                  return 1607;
+                                                  return 1637;
                                                 }
                                               else
                                                 {
@@ -8321,7 +8574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx111xxxxx1111x10001x
                                                      ldff1d.  */
-                                                  return 1563;
+                                                  return 1593;
                                                 }
                                             }
                                         }
@@ -8340,17 +8593,50 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   if (((word >> 30) & 0x1) == 0)
                                     {
-                                      if (((word >> 4) & 0x1) == 0)
+                                      if (((word >> 21) & 0x1) == 0)
                                         {
-                                          if (((word >> 21) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxx0xxxxxxxx000xxxxx0xx1x10010x
-                                                 cmpge.  */
-                                              return 1275;
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx0xxxxxxxx000xxxxx0xx1x100100
+                                                     cmpge.  */
+                                                  return 1278;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx1xxxxxxxx000xxxxx0xx1x100100
+                                                     cmpgt.  */
+                                                  return 1281;
+                                                }
                                             }
                                           else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx000xxxxx0x01x100101
+                                                     ld1rqw.  */
+                                                  return 1505;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx000xxxxx0x11x100101
+                                                     ld1rqd.  */
+                                                  return 1501;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 4) & 0x1) == 0)
                                             {
                                               if (((word >> 11) & 0x1) == 0)
                                                 {
@@ -8360,7 +8646,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxx0xxxxxx00000xxxxx1xx1x10010x
                                                          whilelt.  */
-                                                      return 1924;
+                                                      return 1966;
                                                     }
                                                   else
                                                     {
@@ -8368,7 +8654,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxx0xxxxxx01000xxxxx1xx1x10010x
                                                          whilelt.  */
-                                                      return 1925;
+                                                      return 1967;
                                                     }
                                                 }
                                               else
@@ -8379,7 +8665,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxx0xxxxxx10000xxxxx1xx1x10010x
                                                          whilelo.  */
-                                                      return 1920;
+                                                      return 1962;
                                                     }
                                                   else
                                                     {
@@ -8387,21 +8673,10 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxx0xxxxxx11000xxxxx1xx1x10010x
                                                          whilelo.  */
-                                                      return 1921;
+                                                      return 1963;
                                                     }
                                                 }
                                             }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 21) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxx1xxxxxxxx000xxxxx0xx1x10010x
-                                                 cmpgt.  */
-                                              return 1278;
-                                            }
                                           else
                                             {
                                               if (((word >> 11) & 0x1) == 0)
@@ -8412,7 +8687,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxx1xxxxxx00000xxxxx1xx1x10010x
                                                          whilele.  */
-                                                      return 1918;
+                                                      return 1960;
                                                     }
                                                   else
                                                     {
@@ -8420,7 +8695,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxx1xxxxxx01000xxxxx1xx1x10010x
                                                          whilele.  */
-                                                      return 1919;
+                                                      return 1961;
                                                     }
                                                 }
                                               else
@@ -8431,7 +8706,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxx1xxxxxx10000xxxxx1xx1x10010x
                                                          whilels.  */
-                                                      return 1922;
+                                                      return 1964;
                                                     }
                                                   else
                                                     {
@@ -8439,7 +8714,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxx1xxxxxx11000xxxxx1xx1x10010x
                                                          whilels.  */
-                                                      return 1923;
+                                                      return 1965;
                                                     }
                                                 }
                                             }
@@ -8459,7 +8734,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00x000xxxxx0xx1x100110
                                                          fadd.  */
-                                                      return 1333;
+                                                      return 1336;
                                                     }
                                                   else
                                                     {
@@ -8469,7 +8744,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010000xxxxx0xx1x100110
                                                              fmul.  */
-                                                          return 1384;
+                                                          return 1403;
                                                         }
                                                       else
                                                         {
@@ -8477,7 +8752,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011000xxxxx0xx1x100110
                                                              frecps.  */
-                                                          return 1394;
+                                                          return 1416;
                                                         }
                                                     }
                                                 }
@@ -8489,7 +8764,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx10x000xxxxx0xx1x100110
                                                          fsub.  */
-                                                      return 1407;
+                                                      return 1429;
                                                     }
                                                   else
                                                     {
@@ -8499,7 +8774,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx110000xxxxx0xx1x100110
                                                              ftsmul.  */
-                                                          return 1413;
+                                                          return 1435;
                                                         }
                                                       else
                                                         {
@@ -8507,7 +8782,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx111000xxxxx0xx1x100110
                                                              frsqrts.  */
-                                                          return 1404;
+                                                          return 1426;
                                                         }
                                                     }
                                                 }
@@ -8518,7 +8793,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxx000xxxxx1xx1x100110
                                                  fmla.  */
-                                              return 1381;
+                                              return 1394;
                                             }
                                         }
                                       else
@@ -8527,7 +8802,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx000xxxxxxxx1x100111
                                              str.  */
-                                          return 1845;
+                                          return 1881;
                                         }
                                     }
                                 }
@@ -8537,21 +8812,43 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       if (((word >> 30) & 0x1) == 0)
                                         {
-                                          if (((word >> 4) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxx0xxxxxxxx100xxxxx0xx1x10010x
-                                                 cmplt.  */
-                                              return 1292;
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx0xxxxxxxx100xxxxx0xx1x100100
+                                                     cmplt.  */
+                                                  return 1295;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx1xxxxxxxx100xxxxx0xx1x100100
+                                                     cmple.  */
+                                                  return 1289;
+                                                }
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxx1xxxxxxxx100xxxxx0xx1x10010x
-                                                 cmple.  */
-                                              return 1286;
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx100xxxxx0x01x100101
+                                                     ld1rqw.  */
+                                                  return 1504;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx100xxxxx0x11x100101
+                                                     ld1rqd.  */
+                                                  return 1500;
+                                                }
                                             }
                                         }
                                       else
@@ -8570,7 +8867,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxx100000000xx1x10011x
                                                                  faddv.  */
-                                                              return 1337;
+                                                              return 1340;
                                                             }
                                                           else
                                                             {
@@ -8580,7 +8877,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxx0xxxxxxxx100000010xx1x10011x
                                                                      fcmge.  */
-                                                                  return 1340;
+                                                                  return 1347;
                                                                 }
                                                               else
                                                                 {
@@ -8588,7 +8885,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxx1xxxxxxxx100000010xx1x10011x
                                                                      fcmgt.  */
-                                                                  return 1342;
+                                                                  return 1349;
                                                                 }
                                                             }
                                                         }
@@ -8598,7 +8895,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx1000001x0xx1x10011x
                                                              fadda.  */
-                                                          return 1336;
+                                                          return 1339;
                                                         }
                                                     }
                                                   else
@@ -8607,7 +8904,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx100001xx0xx1x10011x
                                                          fmaxnmv.  */
-                                                      return 1373;
+                                                      return 1386;
                                                     }
                                                 }
                                               else
@@ -8618,7 +8915,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx100010xx0xx1x10011x
                                                          fcmeq.  */
-                                                      return 1338;
+                                                      return 1345;
                                                     }
                                                   else
                                                     {
@@ -8628,7 +8925,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx1000110x0xx1x10011x
                                                              fmaxv.  */
-                                                          return 1374;
+                                                          return 1387;
                                                         }
                                                       else
                                                         {
@@ -8636,7 +8933,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx1000111x0xx1x10011x
                                                              frecpe.  */
-                                                          return 1393;
+                                                          return 1415;
                                                         }
                                                     }
                                                 }
@@ -8653,7 +8950,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxx0xxxxxxxx100100xx0xx1x10011x
                                                              fcmlt.  */
-                                                          return 1345;
+                                                          return 1352;
                                                         }
                                                       else
                                                         {
@@ -8661,7 +8958,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxx1xxxxxxxx100100xx0xx1x10011x
                                                              fcmle.  */
-                                                          return 1344;
+                                                          return 1351;
                                                         }
                                                     }
                                                   else
@@ -8670,7 +8967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx100101xx0xx1x10011x
                                                          fminnmv.  */
-                                                      return 1379;
+                                                      return 1392;
                                                     }
                                                 }
                                               else
@@ -8681,7 +8978,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx100110xx0xx1x10011x
                                                          fcmne.  */
-                                                      return 1346;
+                                                      return 1353;
                                                     }
                                                   else
                                                     {
@@ -8691,7 +8988,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx1001110x0xx1x10011x
                                                              fminv.  */
-                                                          return 1380;
+                                                          return 1393;
                                                         }
                                                       else
                                                         {
@@ -8699,7 +8996,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx1001111x0xx1x10011x
                                                              frsqrte.  */
-                                                          return 1403;
+                                                          return 1425;
                                                         }
                                                     }
                                                 }
@@ -8716,7 +9013,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx0xxxxxxxx100xxxxx1xx1x10010x
                                                  ctermeq.  */
-                                              return 1307;
+                                              return 1310;
                                             }
                                           else
                                             {
@@ -8724,7 +9021,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx1xxxxxxxx100xxxxx1xx1x10010x
                                                  ctermne.  */
-                                              return 1308;
+                                              return 1311;
                                             }
                                         }
                                       else
@@ -8733,20 +9030,20 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx100xxxxx1xx1x10011x
                                              fmls.  */
-                                          return 1382;
+                                          return 1398;
                                         }
                                     }
                                 }
                             }
                           else
                             {
-                              if (((word >> 23) & 0x1) == 0)
+                              if (((word >> 30) & 0x1) == 0)
                                 {
                                   if (((word >> 21) & 0x1) == 0)
                                     {
                                       if (((word >> 22) & 0x1) == 0)
                                         {
-                                          if (((word >> 30) & 0x1) == 0)
+                                          if (((word >> 23) & 0x1) == 0)
                                             {
                                               if (((word >> 31) & 0x1) == 0)
                                                 {
@@ -8760,7 +9057,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxx0xxxx0xxxx10xxxx00001x100100
                                                                  and.  */
-                                                              return 1238;
+                                                              return 1241;
                                                             }
                                                           else
                                                             {
@@ -8768,257 +9065,70 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxx1xxxx0xxxx10xxxx00001x100100
                                                                  bic.  */
-                                                              return 1250;
+                                                              return 1253;
                                                             }
                                                         }
                                                       else
                                                         {
                                                           if (((word >> 19) & 0x1) == 0)
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxx0xxxx10xxx010001x100100
-                                                                 brka.  */
-                                                              return 1252;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxx0xxxx10xxx110001x100100
-                                                                 brkn.  */
-                                                              return 1256;
-                                                            }
-                                                        }
-                                                    }
-                                                  else
-                                                    {
-                                                      if (((word >> 4) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxx0xxxx1xxxx10xxxxx0001x100100
-                                                             eor.  */
-                                                          return 1325;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxx1xxxx1xxxx10xxxxx0001x100100
-                                                             sel.  */
-                                                          return 1725;
-                                                        }
-                                                    }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 13) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx010xxxxx0001x100101
-                                                         ld1sh.  */
-                                                      return 1497;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0001x100101
-                                                         ldff1sh.  */
-                                                      return 1586;
-                                                    }
-                                                }
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxx10xxxxx0001x10011x
-                                                 stnt1w.  */
-                                              return 1843;
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 30) & 0x1) == 0)
-                                            {
-                                              if (((word >> 31) & 0x1) == 0)
-                                                {
-                                                  if (((word >> 4) & 0x1) == 0)
-                                                    {
-                                                      if (((word >> 9) & 0x1) == 0)
-                                                        {
-                                                          if (((word >> 20) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxx0xxxx0xxxx10xxxx00101x100100
-                                                                 ands.  */
-                                                              return 1239;
-                                                            }
-                                                          else
-                                                            {
-                                                              if (((word >> 19) & 0x1) == 0)
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     xxxx0xxxx0xxxx10xxx010101x100100
-                                                                     brkas.  */
-                                                                  return 1253;
-                                                                }
-                                                              else
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     xxxx0xxxx0xxxx10xxx110101x100100
-                                                                     brkns.  */
-                                                                  return 1257;
-                                                                }
-                                                            }
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxx0xxxx1xxxx10xxxxx0101x100100
-                                                             eors.  */
-                                                          return 1326;
-                                                        }
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxx1xxxxxxxxx10xxxxx0101x100100
-                                                         bics.  */
-                                                      return 1251;
-                                                    }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 13) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx010xxxxx0101x100101
-                                                         ld1w.  */
-                                                      return 1516;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0101x100101
-                                                         ldff1w.  */
-                                                      return 1602;
-                                                    }
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 13) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx0101x10011x
-                                                     st1w.  */
-                                                  return 1805;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx0101x10011x
-                                                     st3w.  */
-                                                  return 1827;
-                                                }
-                                            }
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 13) & 0x1) == 0)
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx010xxxxx1001x1001xx
-                                                 ld1sh.  */
-                                              return 1498;
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 30) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx1101x10010x
-                                                     ld1w.  */
-                                                  return 1517;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx1101x10011x
-                                                     st1w.  */
-                                                  return 1807;
-                                                }
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              if (((word >> 30) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1001x10010x
-                                                     ldff1sh.  */
-                                                  return 1587;
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxx0xxxx10xxx010001x100100
+                                                                 brka.  */
+                                                              return 1255;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxx0xxxx10xxx110001x100100
+                                                                 brkn.  */
+                                                              return 1259;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 4) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxx0xxxx1xxxx10xxxxx0001x100100
+                                                             eor.  */
+                                                          return 1328;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxx1xxxx1xxxx10xxxxx0001x100100
+                                                             sel.  */
+                                                          return 1761;
+                                                        }
+                                                    }
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1001x10011x
-                                                     st2w.  */
-                                                  return 1819;
+                                                  if (((word >> 13) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx010xxxxx0001x100101
+                                                         ld1sh.  */
+                                                      return 1527;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx110xxxxx0001x100101
+                                                         ldff1sh.  */
+                                                      return 1616;
+                                                    }
                                                 }
                                             }
                                           else
-                                            {
-                                              if (((word >> 30) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1101x10010x
-                                                     ldff1w.  */
-                                                  return 1603;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1101x10011x
-                                                     st4w.  */
-                                                  return 1835;
-                                                }
-                                            }
-                                        }
-                                    }
-                                }
-                              else
-                                {
-                                  if (((word >> 30) & 0x1) == 0)
-                                    {
-                                      if (((word >> 21) & 0x1) == 0)
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
                                             {
                                               if (((word >> 31) & 0x1) == 0)
                                                 {
@@ -9032,7 +9142,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxx0xxxx0xxxx10xxxx00011x100100
                                                                  orr.  */
-                                                              return 1667;
+                                                              return 1697;
                                                             }
                                                           else
                                                             {
@@ -9040,7 +9150,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxx1xxxx0xxxx10xxxx00011x100100
                                                                  orn.  */
-                                                              return 1662;
+                                                              return 1692;
                                                             }
                                                         }
                                                       else
@@ -9049,7 +9159,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxx0xxxx10xxxx10011x100100
                                                              brkb.  */
-                                                          return 1254;
+                                                          return 1257;
                                                         }
                                                     }
                                                   else
@@ -9060,7 +9170,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxx0xxxx1xxxx10xxxxx0011x100100
                                                              nor.  */
-                                                          return 1659;
+                                                          return 1689;
                                                         }
                                                       else
                                                         {
@@ -9068,7 +9178,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxx1xxxx1xxxx10xxxxx0011x100100
                                                              nand.  */
-                                                          return 1656;
+                                                          return 1686;
                                                         }
                                                     }
                                                 }
@@ -9080,7 +9190,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx010xxxxx0011x100101
                                                          ld1sb.  */
-                                                      return 1485;
+                                                      return 1515;
                                                     }
                                                   else
                                                     {
@@ -9088,7 +9198,84 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx110xxxxx0011x100101
                                                          ldff1sb.  */
-                                                      return 1577;
+                                                      return 1607;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              if (((word >> 31) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 4) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 9) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxx0xxxx0xxxx10xxxx00101x100100
+                                                                 ands.  */
+                                                              return 1242;
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 19) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxx0xxxx0xxxx10xxx010101x100100
+                                                                     brkas.  */
+                                                                  return 1256;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxx0xxxx0xxxx10xxx110101x100100
+                                                                     brkns.  */
+                                                                  return 1260;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxx0xxxx1xxxx10xxxxx0101x100100
+                                                             eors.  */
+                                                          return 1329;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxx1xxxxxxxxx10xxxxx0101x100100
+                                                         bics.  */
+                                                      return 1254;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 13) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx010xxxxx0101x100101
+                                                         ld1w.  */
+                                                      return 1546;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx110xxxxx0101x100101
+                                                         ldff1w.  */
+                                                      return 1632;
                                                     }
                                                 }
                                             }
@@ -9106,7 +9293,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxx0xxxx0xxxx10xxxx00111x100100
                                                                  orrs.  */
-                                                              return 1668;
+                                                              return 1698;
                                                             }
                                                           else
                                                             {
@@ -9114,7 +9301,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxx0xxxx0xxxx10xxxx10111x100100
                                                                  brkbs.  */
-                                                              return 1255;
+                                                              return 1258;
                                                             }
                                                         }
                                                       else
@@ -9123,7 +9310,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxx0xxxx1xxxx10xxxxx0111x100100
                                                              nors.  */
-                                                          return 1660;
+                                                          return 1690;
                                                         }
                                                     }
                                                   else
@@ -9134,7 +9321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxx1xxxx0xxxx10xxxxx0111x100100
                                                              orns.  */
-                                                          return 1663;
+                                                          return 1693;
                                                         }
                                                       else
                                                         {
@@ -9142,7 +9329,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxx1xxxx1xxxx10xxxxx0111x100100
                                                              nands.  */
-                                                          return 1657;
+                                                          return 1687;
                                                         }
                                                     }
                                                 }
@@ -9154,7 +9341,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx010xxxxx0111x100101
                                                          ld1sb.  */
-                                                      return 1487;
+                                                      return 1517;
                                                     }
                                                   else
                                                     {
@@ -9162,22 +9349,44 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx110xxxxx0111x100101
                                                          ldff1sb.  */
-                                                      return 1579;
+                                                      return 1609;
                                                     }
                                                 }
                                             }
                                         }
-                                      else
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 13) & 0x1) == 0)
                                         {
-                                          if (((word >> 13) & 0x1) == 0)
+                                          if (((word >> 22) & 0x1) == 0)
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx010xxxxx1001x10010x
+                                                     ld1sh.  */
+                                                  return 1528;
+                                                }
+                                              else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx010xxxxx1011x10010x
                                                      ld1sb.  */
-                                                  return 1486;
+                                                  return 1516;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx010xxxxx1101x10010x
+                                                     ld1w.  */
+                                                  return 1547;
                                                 }
                                               else
                                                 {
@@ -9185,18 +9394,40 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx010xxxxx1111x10010x
                                                      ld1d.  */
-                                                  return 1447;
+                                                  return 1469;
                                                 }
                                             }
-                                          else
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx110xxxxx1001x10010x
+                                                     ldff1sh.  */
+                                                  return 1617;
+                                                }
+                                              else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx110xxxxx1011x10010x
                                                      ldff1sb.  */
-                                                  return 1578;
+                                                  return 1608;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx110xxxxx1101x10010x
+                                                     ldff1w.  */
+                                                  return 1633;
                                                 }
                                               else
                                                 {
@@ -9204,97 +9435,141 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxx110xxxxx1111x10010x
                                                      ldff1d.  */
-                                                  return 1559;
+                                                  return 1589;
                                                 }
                                             }
                                         }
                                     }
-                                  else
+                                }
+                              else
+                                {
+                                  if (((word >> 13) & 0x1) == 0)
                                     {
-                                      if (((word >> 13) & 0x1) == 0)
+                                      if (((word >> 31) & 0x1) == 0)
                                         {
-                                          if (((word >> 31) & 0x1) == 0)
+                                          if (((word >> 21) & 0x1) == 0)
+                                            {
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx0xxxxxxxx010xxxxx0xx1x100110
+                                                     fcmge.  */
+                                                  return 1348;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx1xxxxxxxx010xxxxx0xx1x100110
+                                                     fcmgt.  */
+                                                  return 1350;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxxxx010xxxxx1xx1x100110
+                                                 fnmla.  */
+                                              return 1412;
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxxxx010xxxxxx0x1x100111
+                                                 str.  */
+                                              return 1882;
+                                            }
+                                          else
                                             {
                                               if (((word >> 21) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 4) & 0x1) == 0)
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxxxxx010xxxxx01x1x100111
+                                                     st1w.  */
+                                                  return 1841;
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx0xxxxxxxx010xxxxx0x11x100110
-                                                         fcmge.  */
-                                                      return 1341;
+                                                         xxxxxxxxxxxxx010xxxxx1101x100111
+                                                         st1w.  */
+                                                      return 1843;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx1xxxxxxxx010xxxxx0x11x100110
-                                                         fcmgt.  */
-                                                      return 1343;
+                                                         xxxxxxxxxxxxx010xxxxx1111x100111
+                                                         st1d.  */
+                                                      return 1820;
                                                     }
                                                 }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx1x11x100110
-                                                     fnmla.  */
-                                                  return 1390;
-                                                }
                                             }
-                                          else
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 21) & 0x1) == 0)
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 4) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxxx011x100111
-                                                     str.  */
-                                                  return 1846;
+                                                     xxxx0xxxxxxxx110xxxxx0xx1x100110
+                                                     fcmeq.  */
+                                                  return 1346;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxxx111x100111
-                                                     st1d.  */
-                                                  return 1784;
+                                                     xxxx1xxxxxxxx110xxxxx0xx1x100110
+                                                     fcmne.  */
+                                                  return 1354;
                                                 }
                                             }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 21) & 0x1) == 0)
+                                          else
                                             {
-                                              if (((word >> 31) & 0x1) == 0)
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 4) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx0xxxxxxxx110xxxxx0x11x100110
-                                                         fcmeq.  */
-                                                      return 1339;
+                                                         xxxxxxxxxxxxx110xxxxx0001x100111
+                                                         stnt1w.  */
+                                                      return 1879;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx1xxxxxxxx110xxxxx0x11x100110
-                                                         fcmne.  */
-                                                      return 1347;
+                                                         xxxxxxxxxxxxx110xxxxx0011x100111
+                                                         stnt1d.  */
+                                                      return 1875;
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 22) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0011x100111
-                                                         stnt1d.  */
-                                                      return 1839;
+                                                         xxxxxxxxxxxxx110xxxxx0101x100111
+                                                         st3w.  */
+                                                      return 1863;
                                                     }
                                                   else
                                                     {
@@ -9302,29 +9577,51 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx110xxxxx0111x100111
                                                          st3d.  */
-                                                      return 1823;
+                                                      return 1859;
                                                     }
                                                 }
                                             }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxxxx110xxxxx1xx1x100110
+                                                 fnmls.  */
+                                              return 1413;
+                                            }
                                           else
                                             {
-                                              if (((word >> 31) & 0x1) == 0)
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1x11x100110
-                                                     fnmls.  */
-                                                  return 1391;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx110xxxxx1001x100111
+                                                         st2w.  */
+                                                      return 1855;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx110xxxxx1011x100111
+                                                         st2d.  */
+                                                      return 1851;
+                                                    }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 22) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx1011x100111
-                                                         st2d.  */
-                                                      return 1815;
+                                                         xxxxxxxxxxxxx110xxxxx1101x100111
+                                                         st4w.  */
+                                                      return 1871;
                                                     }
                                                   else
                                                     {
@@ -9332,7 +9629,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx110xxxxx1111x100111
                                                          st4d.  */
-                                                      return 1831;
+                                                      return 1867;
                                                     }
                                                 }
                                             }
@@ -9357,7 +9654,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx0xxxxxxxx001xxxxx0xx1x10010x
                                                  cmpeq.  */
-                                              return 1272;
+                                              return 1275;
                                             }
                                           else
                                             {
@@ -9365,7 +9662,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx1xxxxxxxx001xxxxx0xx1x10010x
                                                  cmpne.  */
-                                              return 1295;
+                                              return 1298;
                                             }
                                         }
                                       else
@@ -9380,7 +9677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx101xxxx00001x10010x
                                                          ld1sh.  */
-                                                      return 1504;
+                                                      return 1534;
                                                     }
                                                   else
                                                     {
@@ -9388,7 +9685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx101xxxx00011x10010x
                                                          ld1sb.  */
-                                                      return 1491;
+                                                      return 1521;
                                                     }
                                                 }
                                               else
@@ -9399,7 +9696,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx101xxxx00101x10010x
                                                          ld1w.  */
-                                                      return 1523;
+                                                      return 1553;
                                                     }
                                                   else
                                                     {
@@ -9407,7 +9704,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx101xxxx00111x10010x
                                                          ld1sb.  */
-                                                      return 1493;
+                                                      return 1523;
                                                     }
                                                 }
                                             }
@@ -9421,7 +9718,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx101xxxx10001x10010x
                                                          ldnf1sh.  */
-                                                      return 1621;
+                                                      return 1651;
                                                     }
                                                   else
                                                     {
@@ -9429,7 +9726,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx101xxxx10011x10010x
                                                          ldnf1sb.  */
-                                                      return 1618;
+                                                      return 1648;
                                                     }
                                                 }
                                               else
@@ -9440,7 +9737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx101xxxx10101x10010x
                                                          ldnf1w.  */
-                                                      return 1624;
+                                                      return 1654;
                                                     }
                                                   else
                                                     {
@@ -9448,7 +9745,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx101xxxx10111x10010x
                                                          ldnf1sb.  */
-                                                      return 1620;
+                                                      return 1650;
                                                     }
                                                 }
                                             }
@@ -9468,7 +9765,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxx0xxxxxxxxx11xxxx000x1x100100
                                                          brkpa.  */
-                                                      return 1258;
+                                                      return 1261;
                                                     }
                                                   else
                                                     {
@@ -9476,7 +9773,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxx0xxxxxxxxx11xxxx001x1x100100
                                                          brkpas.  */
-                                                      return 1259;
+                                                      return 1262;
                                                     }
                                                 }
                                               else
@@ -9489,7 +9786,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxx0xxxxxxxxx110xx010xx1x100100
                                                              ptest.  */
-                                                          return 1701;
+                                                          return 1731;
                                                         }
                                                       else
                                                         {
@@ -9503,7 +9800,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxx0xxxxx0x00110xx110xx1x100100
                                                                          pfirst.  */
-                                                                      return 1671;
+                                                                      return 1701;
                                                                     }
                                                                   else
                                                                     {
@@ -9511,7 +9808,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxx0xxxxx0x01110xx110xx1x100100
                                                                          ptrue.  */
-                                                                      return 1702;
+                                                                      return 1732;
                                                                     }
                                                                 }
                                                               else
@@ -9522,7 +9819,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxx0xxxxx0x1x110xx1100x1x100100
                                                                          rdffr.  */
-                                                                      return 1708;
+                                                                      return 1738;
                                                                     }
                                                                   else
                                                                     {
@@ -9530,7 +9827,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxx0xxxxx0x1x110xx1101x1x100100
                                                                          rdffrs.  */
-                                                                      return 1709;
+                                                                      return 1739;
                                                                     }
                                                                 }
                                                             }
@@ -9540,7 +9837,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxx0xxxxx1xxx110xx110xx1x100100
                                                                  pfalse.  */
-                                                              return 1670;
+                                                              return 1700;
                                                             }
                                                         }
                                                     }
@@ -9554,7 +9851,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxx0xxxxx0x0x111xxx10xx1x100100
                                                                  ptrues.  */
-                                                              return 1703;
+                                                              return 1733;
                                                             }
                                                           else
                                                             {
@@ -9562,7 +9859,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxx0xxxxx0x1x111xxx10xx1x100100
                                                                  rdffr.  */
-                                                              return 1707;
+                                                              return 1737;
                                                             }
                                                         }
                                                       else
@@ -9571,7 +9868,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxx0xxxxx1xxx111xxx10xx1x100100
                                                              pnext.  */
-                                                          return 1672;
+                                                          return 1702;
                                                         }
                                                     }
                                                 }
@@ -9584,7 +9881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxx1xxxxxxxxx11xxxxx00x1x100100
                                                      brkpb.  */
-                                                  return 1260;
+                                                  return 1263;
                                                 }
                                               else
                                                 {
@@ -9592,7 +9889,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxx1xxxxxxxxx11xxxxx01x1x100100
                                                      brkpbs.  */
-                                                  return 1261;
+                                                  return 1264;
                                                 }
                                             }
                                         }
@@ -9608,7 +9905,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx011xxxxx0001x100101
                                                          ldnt1w.  */
-                                                      return 1632;
+                                                      return 1662;
                                                     }
                                                   else
                                                     {
@@ -9616,7 +9913,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx011xxxxx0011x100101
                                                          ldnt1d.  */
-                                                      return 1628;
+                                                      return 1658;
                                                     }
                                                 }
                                               else
@@ -9627,7 +9924,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx011xxxxx0101x100101
                                                          ld3w.  */
-                                                      return 1540;
+                                                      return 1570;
                                                     }
                                                   else
                                                     {
@@ -9635,7 +9932,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx011xxxxx0111x100101
                                                          ld3d.  */
-                                                      return 1536;
+                                                      return 1566;
                                                     }
                                                 }
                                             }
@@ -9649,7 +9946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxxx0001x100101
                                                          ldnt1w.  */
-                                                      return 1633;
+                                                      return 1663;
                                                     }
                                                   else
                                                     {
@@ -9657,7 +9954,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxxx0011x100101
                                                          ldnt1d.  */
-                                                      return 1629;
+                                                      return 1659;
                                                     }
                                                 }
                                               else
@@ -9668,7 +9965,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxxx0101x100101
                                                          ld3w.  */
-                                                      return 1541;
+                                                      return 1571;
                                                     }
                                                   else
                                                     {
@@ -9676,7 +9973,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxxx0111x100101
                                                          ld3d.  */
-                                                      return 1537;
+                                                      return 1567;
                                                     }
                                                 }
                                             }
@@ -9687,402 +9984,391 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   if (((word >> 13) & 0x1) == 0)
                                     {
-                                      if (((word >> 23) & 0x1) == 0)
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx0001x10011x
-                                                 st1w.  */
-                                              return 1801;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx0101x10011x
-                                                 st1w.  */
-                                              return 1806;
-                                            }
-                                        }
-                                      else
+                                      if (((word >> 31) & 0x1) == 0)
                                         {
-                                          if (((word >> 31) & 0x1) == 0)
+                                          if (((word >> 14) & 0x1) == 0)
                                             {
-                                              if (((word >> 14) & 0x1) == 0)
+                                              if (((word >> 19) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 19) & 0x1) == 0)
+                                                  if (((word >> 20) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 20) & 0x1) == 0)
+                                                      if (((word >> 16) & 0x1) == 0)
                                                         {
-                                                          if (((word >> 16) & 0x1) == 0)
+                                                          if (((word >> 17) & 0x1) == 0)
                                                             {
-                                                              if (((word >> 17) & 0x1) == 0)
+                                                              if (((word >> 18) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 18) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001000000x11x100110
-                                                                         fadd.  */
-                                                                      return 1334;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001001000x11x100110
-                                                                         fmaxnm.  */
-                                                                      return 1371;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx001000000xx1x100110
+                                                                     fadd.  */
+                                                                  return 1337;
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 18) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001010000x11x100110
-                                                                         fmul.  */
-                                                                      return 1385;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001011000x11x100110
-                                                                         fmax.  */
-                                                                      return 1369;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx001001000xx1x100110
+                                                                     fmaxnm.  */
+                                                                  return 1384;
                                                                 }
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 17) & 0x1) == 0)
+                                                              if (((word >> 18) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 18) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001100000x11x100110
-                                                                         fsub.  */
-                                                                      return 1408;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001101000x11x100110
-                                                                         fminnm.  */
-                                                                      return 1377;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx001010000xx1x100110
+                                                                     fmul.  */
+                                                                  return 1404;
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 18) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001110000x11x100110
-                                                                         fsubr.  */
-                                                                      return 1410;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001111000x11x100110
-                                                                         fmin.  */
-                                                                      return 1375;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx001011000xx1x100110
+                                                                     fmax.  */
+                                                                  return 1382;
                                                                 }
                                                             }
                                                         }
                                                       else
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx001xxx010x11x100110
-                                                             ftmad.  */
-                                                          return 1412;
+                                                          if (((word >> 17) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 18) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx001100000xx1x100110
+                                                                     fsub.  */
+                                                                  return 1430;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx001101000xx1x100110
+                                                                     fminnm.  */
+                                                                  return 1390;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 18) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx001110000xx1x100110
+                                                                     fsubr.  */
+                                                                  return 1432;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx001111000xx1x100110
+                                                                     fmin.  */
+                                                                  return 1388;
+                                                                }
+                                                            }
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 16) & 0x1) == 0)
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx001xxx010xx1x100110
+                                                         ftmad.  */
+                                                      return 1434;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 16) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 17) & 0x1) == 0)
                                                         {
-                                                          if (((word >> 17) & 0x1) == 0)
+                                                          if (((word >> 18) & 0x1) == 0)
                                                             {
-                                                              if (((word >> 18) & 0x1) == 0)
+                                                              if (((word >> 20) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001000100x11x100110
-                                                                         fabd.  */
-                                                                      return 1329;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001000110x11x100110
-                                                                         fadd.  */
-                                                                      return 1335;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx001000100xx1x100110
+                                                                     fabd.  */
+                                                                  return 1332;
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001001100x11x100110
-                                                                         fdivr.  */
-                                                                      return 1365;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001001110x11x100110
-                                                                         fmaxnm.  */
-                                                                      return 1372;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx001000110xx1x100110
+                                                                     fadd.  */
+                                                                  return 1338;
                                                                 }
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 18) & 0x1) == 0)
+                                                              if (((word >> 20) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001010100x11x100110
-                                                                         fmulx.  */
-                                                                      return 1387;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001010110x11x100110
-                                                                         fmul.  */
-                                                                      return 1386;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx001001100xx1x100110
+                                                                     fdivr.  */
+                                                                  return 1378;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx0010111x0x11x100110
-                                                                     fmax.  */
-                                                                  return 1370;
+                                                                     xxxxxxxxxxxxx001001110xx1x100110
+                                                                     fmaxnm.  */
+                                                                  return 1385;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 18) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx001010100xx1x100110
+                                                                     fmulx.  */
+                                                                  return 1409;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx001010110xx1x100110
+                                                                     fmul.  */
+                                                                  return 1405;
                                                                 }
                                                             }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxxxxx0010111x0xx1x100110
+                                                                 fmax.  */
+                                                              return 1383;
+                                                            }
                                                         }
-                                                      else
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 17) & 0x1) == 0)
                                                         {
-                                                          if (((word >> 17) & 0x1) == 0)
+                                                          if (((word >> 18) & 0x1) == 0)
                                                             {
-                                                              if (((word >> 18) & 0x1) == 0)
+                                                              if (((word >> 20) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001100100x11x100110
-                                                                         fscale.  */
-                                                                      return 1405;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001100110x11x100110
-                                                                         fsub.  */
-                                                                      return 1409;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx001100100xx1x100110
+                                                                     fscale.  */
+                                                                  return 1427;
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001101100x11x100110
-                                                                         fdiv.  */
-                                                                      return 1364;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001101110x11x100110
-                                                                         fminnm.  */
-                                                                      return 1378;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx001100110xx1x100110
+                                                                     fsub.  */
+                                                                  return 1431;
                                                                 }
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 18) & 0x1) == 0)
+                                                              if (((word >> 20) & 0x1) == 0)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx0011101x0x11x100110
-                                                                     fsubr.  */
-                                                                  return 1411;
+                                                                     xxxxxxxxxxxxx001101100xx1x100110
+                                                                     fdiv.  */
+                                                                  return 1377;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx0011111x0x11x100110
-                                                                     fmin.  */
-                                                                  return 1376;
+                                                                     xxxxxxxxxxxxx001101110xx1x100110
+                                                                     fminnm.  */
+                                                                  return 1391;
                                                                 }
                                                             }
                                                         }
-                                                    }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 4) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxx0xxxxxxxx011xxxxx0x11x100110
-                                                         fcmuo.  */
-                                                      return 1348;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxx1xxxxxxxx011xxxxx0x11x100110
-                                                         facge.  */
-                                                      return 1331;
+                                                      else
+                                                        {
+                                                          if (((word >> 18) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxxxxx0011101x0xx1x100110
+                                                                 fsubr.  */
+                                                              return 1433;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxxxxx0011111x0xx1x100110
+                                                                 fmin.  */
+                                                              return 1389;
+                                                            }
+                                                        }
                                                     }
                                                 }
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx0x11x100111
-                                                 st1d.  */
-                                              return 1780;
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx0xxxxxxxx011xxxxx0xx1x100110
+                                                     fcmuo.  */
+                                                  return 1355;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxx1xxxxxxxx011xxxxx0xx1x100110
+                                                     facge.  */
+                                                  return 1334;
+                                                }
                                             }
                                         }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 14) & 0x1) == 0)
+                                      else
                                         {
-                                          if (((word >> 23) & 0x1) == 0)
+                                          if (((word >> 22) & 0x1) == 0)
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx0001x10011x
+                                                     xxxxxxxxxxxxx0x1xxxxx0001x100111
                                                      st1w.  */
-                                                  return 1802;
+                                                  return 1837;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx0101x10011x
-                                                     st1w.  */
-                                                  return 1809;
+                                                     xxxxxxxxxxxxx0x1xxxxx0011x100111
+                                                     st1d.  */
+                                                  return 1816;
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 31) & 0x1) == 0)
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxxxx0x1xxxxx01x1x100111
+                                                 st1w.  */
+                                              return 1842;
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 14) & 0x1) == 0)
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              if (((word >> 16) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 16) & 0x1) == 0)
+                                                  if (((word >> 17) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 17) & 0x1) == 0)
+                                                      if (((word >> 18) & 0x1) == 0)
                                                         {
-                                                          if (((word >> 18) & 0x1) == 0)
+                                                          if (((word >> 19) & 0x1) == 0)
                                                             {
-                                                              if (((word >> 19) & 0x1) == 0)
+                                                              if (((word >> 20) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx101000000xx1x100110
+                                                                     frintn.  */
+                                                                  return 1421;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx101000010xx1x100110
+                                                                     scvtf.  */
+                                                                  return 1751;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 22) & 0x1) == 0)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101000000x11x100110
-                                                                         frintn.  */
-                                                                      return 1399;
+                                                                         xxxxxxxxxxxxx1010001000x1x100110
+                                                                         fcvt.  */
+                                                                      return 1357;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101000010x11x100110
-                                                                         scvtf.  */
-                                                                      return 1719;
+                                                                         xxxxxxxxxxxxx1010001001x1x100110
+                                                                         fcvt.  */
+                                                                      return 1359;
                                                                     }
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
-                                                                    {
-                                                                      if (((word >> 22) & 0x1) == 0)
-                                                                        {
-                                                                          /* 33222222222211111111110000000000
-                                                                             10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101000100011x100110
-                                                                             fcvt.  */
-                                                                          return 1350;
-                                                                        }
-                                                                      else
-                                                                        {
-                                                                          /* 33222222222211111111110000000000
-                                                                             10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101000100111x100110
-                                                                             fcvt.  */
-                                                                          return 1352;
-                                                                        }
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101000110x11x100110
-                                                                         fcvtzs.  */
-                                                                      return 1357;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx101000110xx1x100110
+                                                                     fcvtzs.  */
+                                                                  return 1367;
                                                                 }
                                                             }
-                                                          else
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
                                                             {
-                                                              if (((word >> 19) & 0x1) == 0)
+                                                              if (((word >> 20) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx101001000xx1x100110
+                                                                     frinta.  */
+                                                                  return 1418;
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 22) & 0x1) == 0)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101001000x11x100110
-                                                                         frinta.  */
-                                                                      return 1396;
+                                                                         xxxxxxxxxxxxx1010010100x1x100110
+                                                                         scvtf.  */
+                                                                      return 1750;
                                                                     }
                                                                   else
                                                                     {
-                                                                      if (((word >> 22) & 0x1) == 0)
+                                                                      if (((word >> 23) & 0x1) == 0)
                                                                         {
                                                                           /* 33222222222211111111110000000000
                                                                              10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101001010011x100110
+                                                                             xxxxxxxxxxxxx101001010101x100110
                                                                              scvtf.  */
-                                                                          return 1718;
+                                                                          return 1749;
                                                                         }
                                                                       else
                                                                         {
@@ -10090,29 +10376,40 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              xxxxxxxxxxxxx101001010111x100110
                                                                              scvtf.  */
-                                                                          return 1720;
+                                                                          return 1753;
                                                                         }
                                                                     }
                                                                 }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx101001100xx1x100110
+                                                                     frecpx.  */
+                                                                  return 1417;
+                                                                }
                                                               else
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
+                                                                  if (((word >> 22) & 0x1) == 0)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101001100x11x100110
-                                                                         frecpx.  */
-                                                                      return 1395;
+                                                                         xxxxxxxxxxxxx1010011100x1x100110
+                                                                         fcvtzs.  */
+                                                                      return 1366;
                                                                     }
                                                                   else
                                                                     {
-                                                                      if (((word >> 22) & 0x1) == 0)
+                                                                      if (((word >> 23) & 0x1) == 0)
                                                                         {
                                                                           /* 33222222222211111111110000000000
                                                                              10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101001110011x100110
+                                                                             xxxxxxxxxxxxx101001110101x100110
                                                                              fcvtzs.  */
-                                                                          return 1356;
+                                                                          return 1364;
                                                                         }
                                                                       else
                                                                         {
@@ -10120,44 +10417,77 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              xxxxxxxxxxxxx101001110111x100110
                                                                              fcvtzs.  */
-                                                                          return 1358;
+                                                                          return 1368;
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                         }
-                                                      else
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 18) & 0x1) == 0)
                                                         {
-                                                          if (((word >> 18) & 0x1) == 0)
+                                                          if (((word >> 19) & 0x1) == 0)
                                                             {
-                                                              if (((word >> 19) & 0x1) == 0)
+                                                              if (((word >> 20) & 0x1) == 0)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx1010100x0x11x100110
+                                                                     xxxxxxxxxxxxx101010000xx1x100110
                                                                      frintm.  */
-                                                                  return 1398;
+                                                                  return 1420;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx1010101x0x11x100110
-                                                                     fcvt.  */
-                                                                  return 1354;
+                                                                     xxxxxxxxxxxxx101010010xx1x100110
+                                                                     scvtf.  */
+                                                                  return 1748;
                                                                 }
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 19) & 0x1) == 0)
+                                                              if (((word >> 20) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx101010100xx1x100110
+                                                                     fcvt.  */
+                                                                  return 1361;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx101010110xx1x100110
+                                                                     fcvtzs.  */
+                                                                  return 1363;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx101011000xx1x100110
+                                                                     frintx.  */
+                                                                  return 1423;
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 23) & 0x1) == 0)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101011000x11x100110
-                                                                         frintx.  */
-                                                                      return 1401;
+                                                                         xxxxxxxxxxxxx101011010x01x100110
+                                                                         scvtf.  */
+                                                                      return 1752;
                                                                     }
                                                                   else
                                                                     {
@@ -10165,87 +10495,109 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxxxxx101011010x11x100110
                                                                          scvtf.  */
-                                                                      return 1721;
+                                                                      return 1754;
                                                                     }
                                                                 }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx1010111x0x01x100110
+                                                                     fcvtzs.  */
+                                                                  return 1365;
+                                                                }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx1010111x0x11x100110
                                                                      fcvtzs.  */
-                                                                  return 1359;
+                                                                  return 1369;
                                                                 }
                                                             }
                                                         }
                                                     }
-                                                  else
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 17) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 17) & 0x1) == 0)
+                                                      if (((word >> 18) & 0x1) == 0)
                                                         {
-                                                          if (((word >> 18) & 0x1) == 0)
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx101100000xx1x100110
+                                                                     frintp.  */
+                                                                  return 1422;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx101100010xx1x100110
+                                                                     ucvtf.  */
+                                                                  return 1903;
+                                                                }
+                                                            }
+                                                          else
                                                             {
-                                                              if (((word >> 19) & 0x1) == 0)
+                                                              if (((word >> 20) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
+                                                                  if (((word >> 22) & 0x1) == 0)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101100000x11x100110
-                                                                         frintp.  */
-                                                                      return 1400;
+                                                                         xxxxxxxxxxxxx1011001000x1x100110
+                                                                         fcvt.  */
+                                                                      return 1358;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101100010x11x100110
-                                                                         ucvtf.  */
-                                                                      return 1865;
+                                                                         xxxxxxxxxxxxx1011001001x1x100110
+                                                                         fcvt.  */
+                                                                      return 1360;
                                                                     }
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
-                                                                    {
-                                                                      if (((word >> 22) & 0x1) == 0)
-                                                                        {
-                                                                          /* 33222222222211111111110000000000
-                                                                             10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101100100011x100110
-                                                                             fcvt.  */
-                                                                          return 1351;
-                                                                        }
-                                                                      else
-                                                                        {
-                                                                          /* 33222222222211111111110000000000
-                                                                             10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101100100111x100110
-                                                                             fcvt.  */
-                                                                          return 1353;
-                                                                        }
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101100110x11x100110
-                                                                         fcvtzu.  */
-                                                                      return 1361;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx101100110xx1x100110
+                                                                     fcvtzu.  */
+                                                                  return 1374;
                                                                 }
                                                             }
-                                                          else
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
                                                             {
-                                                              if (((word >> 19) & 0x1) == 0)
+                                                              if (((word >> 22) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 22) & 0x1) == 0)
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx1011010x00x1x100110
+                                                                     ucvtf.  */
+                                                                  return 1902;
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 23) & 0x1) == 0)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx1011010x0011x100110
+                                                                         xxxxxxxxxxxxx1011010x0101x100110
                                                                          ucvtf.  */
-                                                                      return 1864;
+                                                                      return 1901;
                                                                     }
                                                                   else
                                                                     {
@@ -10253,28 +10605,39 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxxxxx1011010x0111x100110
                                                                          ucvtf.  */
-                                                                      return 1866;
+                                                                      return 1905;
                                                                     }
                                                                 }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx101101100xx1x100110
+                                                                     fsqrt.  */
+                                                                  return 1428;
+                                                                }
                                                               else
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
+                                                                  if (((word >> 22) & 0x1) == 0)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101101100x11x100110
-                                                                         fsqrt.  */
-                                                                      return 1406;
+                                                                         xxxxxxxxxxxxx1011011100x1x100110
+                                                                         fcvtzu.  */
+                                                                      return 1373;
                                                                     }
                                                                   else
                                                                     {
-                                                                      if (((word >> 22) & 0x1) == 0)
+                                                                      if (((word >> 23) & 0x1) == 0)
                                                                         {
                                                                           /* 33222222222211111111110000000000
                                                                              10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101101110011x100110
+                                                                             xxxxxxxxxxxxx101101110101x100110
                                                                              fcvtzu.  */
-                                                                          return 1360;
+                                                                          return 1371;
                                                                         }
                                                                       else
                                                                         {
@@ -10282,44 +10645,77 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              xxxxxxxxxxxxx101101110111x100110
                                                                              fcvtzu.  */
-                                                                          return 1362;
+                                                                          return 1375;
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                         }
-                                                      else
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 18) & 0x1) == 0)
                                                         {
-                                                          if (((word >> 18) & 0x1) == 0)
+                                                          if (((word >> 19) & 0x1) == 0)
                                                             {
-                                                              if (((word >> 19) & 0x1) == 0)
+                                                              if (((word >> 20) & 0x1) == 0)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx1011100x0x11x100110
+                                                                     xxxxxxxxxxxxx101110000xx1x100110
                                                                      frintz.  */
-                                                                  return 1402;
+                                                                  return 1424;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx1011101x0x11x100110
-                                                                     fcvt.  */
-                                                                  return 1355;
+                                                                     xxxxxxxxxxxxx101110010xx1x100110
+                                                                     ucvtf.  */
+                                                                  return 1900;
                                                                 }
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 19) & 0x1) == 0)
+                                                              if (((word >> 20) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx101110100xx1x100110
+                                                                     fcvt.  */
+                                                                  return 1362;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx101110110xx1x100110
+                                                                     fcvtzu.  */
+                                                                  return 1370;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx101111000xx1x100110
+                                                                     frinti.  */
+                                                                  return 1419;
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 23) & 0x1) == 0)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101111000x11x100110
-                                                                         frinti.  */
-                                                                      return 1397;
+                                                                         xxxxxxxxxxxxx101111010x01x100110
+                                                                         ucvtf.  */
+                                                                      return 1904;
                                                                     }
                                                                   else
                                                                     {
@@ -10327,101 +10723,134 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxxxxx101111010x11x100110
                                                                          ucvtf.  */
-                                                                      return 1867;
+                                                                      return 1906;
                                                                     }
                                                                 }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxxxxx1011111x0x01x100110
+                                                                     fcvtzu.  */
+                                                                  return 1372;
+                                                                }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxxxx1011111x0x11x100110
                                                                      fcvtzu.  */
-                                                                  return 1363;
+                                                                  return 1376;
                                                                 }
                                                             }
                                                         }
                                                     }
                                                 }
-                                              else
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 22) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx101xxxxx0011x100111
-                                                         st1d.  */
-                                                      return 1781;
+                                                         xxxxxxxxxxxxx101xxxxx0001x100111
+                                                         st1w.  */
+                                                      return 1838;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx101xxxxx0111x100111
+                                                         xxxxxxxxxxxxx101xxxxx0011x100111
                                                          st1d.  */
-                                                      return 1785;
+                                                      return 1817;
                                                     }
                                                 }
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              if (((word >> 20) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxx00x01x10011x
-                                                     st1w.  */
-                                                  return 1810;
-                                                }
                                               else
                                                 {
-                                                  if (((word >> 22) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx10001x10011x
-                                                         stnt1w.  */
-                                                      return 1844;
+                                                         xxxxxxxxxxxxx101xxxxx0101x100111
+                                                         st1w.  */
+                                                      return 1845;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx10101x10011x
-                                                         st3w.  */
-                                                      return 1828;
+                                                         xxxxxxxxxxxxx101xxxxx0111x100111
+                                                         st1d.  */
+                                                      return 1821;
                                                     }
                                                 }
                                             }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxxxx111xxxxx0xx1x100110
+                                                 facgt.  */
+                                              return 1335;
+                                            }
                                           else
                                             {
-                                              if (((word >> 31) & 0x1) == 0)
+                                              if (((word >> 20) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx0x11x100110
-                                                     facgt.  */
-                                                  return 1332;
+                                                     xxxxxxxxxxxxx111xxxx00xx1x100111
+                                                     st1w.  */
+                                                  return 1846;
                                                 }
                                               else
                                                 {
                                                   if (((word >> 22) & 0x1) == 0)
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0011x100111
-                                                         stnt1d.  */
-                                                      return 1840;
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxxxxx111xxxx10001x100111
+                                                             stnt1w.  */
+                                                          return 1880;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxxxxx111xxxx10011x100111
+                                                             stnt1d.  */
+                                                          return 1876;
+                                                        }
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0111x100111
-                                                         st3d.  */
-                                                      return 1824;
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxxxxx111xxxx10101x100111
+                                                             st3w.  */
+                                                          return 1864;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxxxxx111xxxx10111x100111
+                                                             st3d.  */
+                                                          return 1860;
+                                                        }
                                                     }
                                                 }
                                             }
@@ -10451,7 +10880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxxx01000001xx1x100100
                                                                  cntp.  */
-                                                              return 1301;
+                                                              return 1304;
                                                             }
                                                           else
                                                             {
@@ -10465,7 +10894,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              xxxxxxxxxx000x01000101xx1x100100
                                                                              sqincp.  */
-                                                                          return 1759;
+                                                                          return 1795;
                                                                         }
                                                                       else
                                                                         {
@@ -10473,7 +10902,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              xxxxxxxxxx001x01000101xx1x100100
                                                                              wrffr.  */
-                                                                          return 1926;
+                                                                          return 1968;
                                                                         }
                                                                     }
                                                                   else
@@ -10482,7 +10911,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx01xx01000101xx1x100100
                                                                          sqincp.  */
-                                                                      return 1761;
+                                                                      return 1797;
                                                                     }
                                                                 }
                                                               else
@@ -10491,7 +10920,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx1xxx01000101xx1x100100
                                                                      sqincp.  */
-                                                                  return 1760;
+                                                                  return 1796;
                                                                 }
                                                             }
                                                         }
@@ -10505,7 +10934,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxx00x01001x01xx1x100100
                                                                      incp.  */
-                                                                  return 1420;
+                                                                  return 1442;
                                                                 }
                                                               else
                                                                 {
@@ -10513,7 +10942,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxxx01x01001x01xx1x100100
                                                                      setffr.  */
-                                                                  return 1726;
+                                                                  return 1762;
                                                                 }
                                                             }
                                                           else
@@ -10522,7 +10951,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxx1xx01001x01xx1x100100
                                                                  incp.  */
-                                                              return 1421;
+                                                              return 1443;
                                                             }
                                                         }
                                                     }
@@ -10536,7 +10965,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00xx0101xx01xx1x100100
                                                                  sqdecp.  */
-                                                              return 1745;
+                                                              return 1781;
                                                             }
                                                           else
                                                             {
@@ -10544,7 +10973,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx01xx0101xx01xx1x100100
                                                                  sqdecp.  */
-                                                              return 1747;
+                                                              return 1783;
                                                             }
                                                         }
                                                       else
@@ -10553,7 +10982,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1xxx0101xx01xx1x100100
                                                              sqdecp.  */
-                                                          return 1746;
+                                                          return 1782;
                                                         }
                                                     }
                                                 }
@@ -10571,7 +11000,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00xx01100x01xx1x100100
                                                                      uqincp.  */
-                                                                  return 1901;
+                                                                  return 1943;
                                                                 }
                                                               else
                                                                 {
@@ -10579,7 +11008,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00xx01101x01xx1x100100
                                                                      decp.  */
-                                                                  return 1314;
+                                                                  return 1317;
                                                                 }
                                                             }
                                                           else
@@ -10588,7 +11017,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00xx0111xx01xx1x100100
                                                                  uqdecp.  */
-                                                              return 1887;
+                                                              return 1929;
                                                             }
                                                         }
                                                       else
@@ -10601,7 +11030,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx01xx01100x01xx1x100100
                                                                      uqincp.  */
-                                                                  return 1902;
+                                                                  return 1944;
                                                                 }
                                                               else
                                                                 {
@@ -10609,7 +11038,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx01xx01101x01xx1x100100
                                                                      decp.  */
-                                                                  return 1315;
+                                                                  return 1318;
                                                                 }
                                                             }
                                                           else
@@ -10618,7 +11047,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx01xx0111xx01xx1x100100
                                                                  uqdecp.  */
-                                                              return 1888;
+                                                              return 1930;
                                                             }
                                                         }
                                                     }
@@ -10630,7 +11059,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1xxx0110xx01xx1x100100
                                                              uqincp.  */
-                                                          return 1903;
+                                                          return 1945;
                                                         }
                                                       else
                                                         {
@@ -10638,7 +11067,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1xxx0111xx01xx1x100100
                                                              uqdecp.  */
-                                                          return 1889;
+                                                          return 1931;
                                                         }
                                                     }
                                                 }
@@ -10653,7 +11082,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxxx01xxxx01001x100101
                                                          ld1sh.  */
-                                                      return 1505;
+                                                      return 1535;
                                                     }
                                                   else
                                                     {
@@ -10661,7 +11090,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxxx01xxxx01011x100101
                                                          ld1sb.  */
-                                                      return 1492;
+                                                      return 1522;
                                                     }
                                                 }
                                               else
@@ -10672,7 +11101,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxxx01xxxx01101x100101
                                                          ld1w.  */
-                                                      return 1524;
+                                                      return 1554;
                                                     }
                                                   else
                                                     {
@@ -10680,7 +11109,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxxx01xxxx01111x100101
                                                          ld1d.  */
-                                                      return 1452;
+                                                      return 1474;
                                                     }
                                                 }
                                             }
@@ -10695,7 +11124,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxxx01xxxx11001x10010x
                                                      ldnf1sh.  */
-                                                  return 1622;
+                                                  return 1652;
                                                 }
                                               else
                                                 {
@@ -10703,7 +11132,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxxx01xxxx11011x10010x
                                                      ldnf1sb.  */
-                                                  return 1619;
+                                                  return 1649;
                                                 }
                                             }
                                           else
@@ -10714,7 +11143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxxx01xxxx11101x10010x
                                                      ldnf1w.  */
-                                                  return 1625;
+                                                  return 1655;
                                                 }
                                               else
                                                 {
@@ -10722,7 +11151,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxxxxxx01xxxx11111x10010x
                                                      ldnf1d.  */
-                                                  return 1614;
+                                                  return 1644;
                                                 }
                                             }
                                         }
@@ -10745,7 +11174,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxxx11000001xx1x100100
                                                                  add.  */
-                                                              return 1228;
+                                                              return 1231;
                                                             }
                                                           else
                                                             {
@@ -10753,7 +11182,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxxx11000011xx1x100100
                                                                  mul.  */
-                                                              return 1654;
+                                                              return 1684;
                                                             }
                                                         }
                                                       else
@@ -10764,7 +11193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxxx11000101xx1x100100
                                                                  smax.  */
-                                                              return 1727;
+                                                              return 1763;
                                                             }
                                                           else
                                                             {
@@ -10772,7 +11201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxxx11000111xx1x100100
                                                                  dup.  */
-                                                              return 1320;
+                                                              return 1323;
                                                             }
                                                         }
                                                     }
@@ -10782,7 +11211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxxx11001xx1xx1x100100
                                                          sqadd.  */
-                                                      return 1736;
+                                                      return 1772;
                                                     }
                                                 }
                                               else
@@ -10793,7 +11222,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxxx11010xx1xx1x100100
                                                          smin.  */
-                                                      return 1730;
+                                                      return 1766;
                                                     }
                                                   else
                                                     {
@@ -10801,7 +11230,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxxx11011xx1xx1x100100
                                                          sqsub.  */
-                                                      return 1766;
+                                                      return 1802;
                                                     }
                                                 }
                                             }
@@ -10817,7 +11246,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxxx111000x1xx1x100100
                                                              sub.  */
-                                                          return 1848;
+                                                          return 1884;
                                                         }
                                                       else
                                                         {
@@ -10827,7 +11256,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxxx11100101xx1x100100
                                                                  umax.  */
-                                                              return 1870;
+                                                              return 1912;
                                                             }
                                                           else
                                                             {
@@ -10835,7 +11264,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxxxxxx11100111xx1x100100
                                                                  fdup.  */
-                                                              return 1366;
+                                                              return 1379;
                                                             }
                                                         }
                                                     }
@@ -10845,7 +11274,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxxx11101xx1xx1x100100
                                                          uqadd.  */
-                                                      return 1878;
+                                                      return 1920;
                                                     }
                                                 }
                                               else
@@ -10858,7 +11287,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxxx111100x1xx1x100100
                                                              subr.  */
-                                                          return 1850;
+                                                          return 1886;
                                                         }
                                                       else
                                                         {
@@ -10866,7 +11295,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxxx111101x1xx1x100100
                                                              umin.  */
-                                                          return 1873;
+                                                          return 1915;
                                                         }
                                                     }
                                                   else
@@ -10875,7 +11304,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxxx11111xx1xx1x100100
                                                          uqsub.  */
-                                                      return 1908;
+                                                      return 1950;
                                                     }
                                                 }
                                             }
@@ -10892,7 +11321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx011xxxxx1001x100101
                                                          ld2w.  */
-                                                      return 1532;
+                                                      return 1562;
                                                     }
                                                   else
                                                     {
@@ -10900,7 +11329,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx011xxxxx1011x100101
                                                          ld2d.  */
-                                                      return 1528;
+                                                      return 1558;
                                                     }
                                                 }
                                               else
@@ -10911,7 +11340,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx011xxxxx1101x100101
                                                          ld4w.  */
-                                                      return 1548;
+                                                      return 1578;
                                                     }
                                                   else
                                                     {
@@ -10919,7 +11348,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx011xxxxx1111x100101
                                                          ld4d.  */
-                                                      return 1544;
+                                                      return 1574;
                                                     }
                                                 }
                                             }
@@ -10933,7 +11362,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxxx1001x100101
                                                          ld2w.  */
-                                                      return 1533;
+                                                      return 1563;
                                                     }
                                                   else
                                                     {
@@ -10941,7 +11370,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxxx1011x100101
                                                          ld2d.  */
-                                                      return 1529;
+                                                      return 1559;
                                                     }
                                                 }
                                               else
@@ -10952,7 +11381,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxxx1101x100101
                                                          ld4w.  */
-                                                      return 1549;
+                                                      return 1579;
                                                     }
                                                   else
                                                     {
@@ -10960,7 +11389,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxxxxx111xxxxx1111x100101
                                                          ld4d.  */
-                                                      return 1545;
+                                                      return 1575;
                                                     }
                                                 }
                                             }
@@ -10971,53 +11400,53 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   if (((word >> 13) & 0x1) == 0)
                                     {
-                                      if (((word >> 23) & 0x1) == 0)
+                                      if (((word >> 31) & 0x1) == 0)
                                         {
-                                          if (((word >> 22) & 0x1) == 0)
+                                          if (((word >> 14) & 0x1) == 0)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx1001x10011x
-                                                 st1w.  */
-                                              return 1803;
+                                                 xxxxxxxxxxxxx001xxxxx1xx1x100110
+                                                 fmad.  */
+                                              return 1381;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx1101x10011x
-                                                 st1w.  */
-                                              return 1808;
+                                                 xxxxxxxxxxxxx011xxxxx1xx1x100110
+                                                 fnmad.  */
+                                              return 1411;
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 31) & 0x1) == 0)
+                                          if (((word >> 22) & 0x1) == 0)
                                             {
-                                              if (((word >> 14) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx001xxxxx1x11x100110
-                                                     fmad.  */
-                                                  return 1368;
+                                                     xxxxxxxxxxxxx0x1xxxxx1001x100111
+                                                     st1w.  */
+                                                  return 1839;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx011xxxxx1x11x100110
-                                                     fnmad.  */
-                                                  return 1389;
+                                                     xxxxxxxxxxxxx0x1xxxxx1011x100111
+                                                     st1d.  */
+                                                  return 1818;
                                                 }
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx1x11x100111
-                                                 st1d.  */
-                                              return 1782;
+                                                 xxxxxxxxxxxxx0x1xxxxx11x1x100111
+                                                 st1w.  */
+                                              return 1844;
                                             }
                                         }
                                     }
@@ -11025,106 +11454,106 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       if (((word >> 14) & 0x1) == 0)
                                         {
-                                          if (((word >> 23) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx1001x10011x
-                                                     st1w.  */
-                                                  return 1804;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx1101x10011x
-                                                     st1w.  */
-                                                  return 1811;
-                                                }
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxxxx101xxxxx1xx1x100110
+                                                 fmsb.  */
+                                              return 1402;
                                             }
                                           else
                                             {
-                                              if (((word >> 31) & 0x1) == 0)
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx1x11x100110
-                                                     fmsb.  */
-                                                  return 1383;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx101xxxxx1001x100111
+                                                         st1w.  */
+                                                      return 1840;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxxxxx101xxxxx1011x100111
+                                                         st1d.  */
+                                                      return 1819;
+                                                    }
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx1x11x100111
-                                                     st1d.  */
-                                                  return 1783;
+                                                     xxxxxxxxxxxxx101xxxxx11x1x100111
+                                                     st1w.  */
+                                                  return 1847;
                                                 }
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 23) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxxxx111xxxxx1xx1x100110
+                                                 fnmsb.  */
+                                              return 1414;
+                                            }
+                                          else
                                             {
                                               if (((word >> 20) & 0x1) == 0)
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxx01x01x10011x
-                                                     st1w.  */
-                                                  return 1812;
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 22) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx11001x10011x
-                                                         st2w.  */
-                                                      return 1820;
+                                                         xxxxxxxxxxxxx111xxxx01x01x100111
+                                                         st1w.  */
+                                                      return 1848;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx11101x10011x
-                                                         st4w.  */
-                                                      return 1836;
+                                                         xxxxxxxxxxxxx111xxxx01x11x100111
+                                                         st1d.  */
+                                                      return 1822;
                                                     }
                                                 }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 31) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx1x11x100110
-                                                     fnmsb.  */
-                                                  return 1392;
-                                                }
                                               else
                                                 {
-                                                  if (((word >> 20) & 0x1) == 0)
+                                                  if (((word >> 22) & 0x1) == 0)
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx01x11x100111
-                                                         st1d.  */
-                                                      return 1786;
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxxxxx111xxxx11001x100111
+                                                             st2w.  */
+                                                          return 1856;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxxxxx111xxxx11011x100111
+                                                             st2d.  */
+                                                          return 1852;
+                                                        }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 22) & 0x1) == 0)
+                                                      if (((word >> 23) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx111xxxx11011x100111
-                                                             st2d.  */
-                                                          return 1816;
+                                                             xxxxxxxxxxxxx111xxxx11101x100111
+                                                             st4w.  */
+                                                          return 1872;
                                                         }
                                                       else
                                                         {
@@ -11132,7 +11561,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxxxxx111xxxx11111x100111
                                                              st4d.  */
-                                                          return 1832;
+                                                          return 1868;
                                                         }
                                                     }
                                                 }
@@ -11157,7 +11586,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxxxxx101000
                              b.  */
-                          return 627;
+                          return 630;
                         }
                       else
                         {
@@ -11165,7 +11594,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxxxxx101001
                              bl.  */
-                          return 628;
+                          return 631;
                         }
                     }
                   else
@@ -11182,7 +11611,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxx0xxxxxxxxxxxxxxxxxxx00101010
                                          b.c.  */
-                                      return 648;
+                                      return 651;
                                     }
                                   else
                                     {
@@ -11196,7 +11625,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      00xx0xxxxxxxxxxxxxxxx0xx00101011
                                                      hlt.  */
-                                                  return 739;
+                                                  return 742;
                                                 }
                                               else
                                                 {
@@ -11204,7 +11633,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      00xx0xxxxxxxxxxxxxxxx1xx00101011
                                                      brk.  */
-                                                  return 738;
+                                                  return 741;
                                                 }
                                             }
                                           else
@@ -11215,7 +11644,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      01xx0xxxxxxxxxxxxxxxx0xx00101011
                                                      hvc.  */
-                                                  return 736;
+                                                  return 739;
                                                 }
                                               else
                                                 {
@@ -11223,7 +11652,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      01xx0xxxxxxxxxxxxxxxx1xx00101011
                                                      dcps2.  */
-                                                  return 741;
+                                                  return 744;
                                                 }
                                             }
                                         }
@@ -11237,7 +11666,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      10xx0xxxxxxxxxxxxxxxx0xx00101011
                                                      svc.  */
-                                                  return 735;
+                                                  return 738;
                                                 }
                                               else
                                                 {
@@ -11245,7 +11674,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      10xx0xxxxxxxxxxxxxxxx1xx00101011
                                                      dcps1.  */
-                                                  return 740;
+                                                  return 743;
                                                 }
                                             }
                                           else
@@ -11256,7 +11685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      11xx0xxxxxxxxxxxxxxxx0xx00101011
                                                      smc.  */
-                                                  return 737;
+                                                  return 740;
                                                 }
                                               else
                                                 {
@@ -11264,7 +11693,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      11xx0xxxxxxxxxxxxxxxx1xx00101011
                                                      dcps3.  */
-                                                  return 742;
+                                                  return 745;
                                                 }
                                             }
                                         }
@@ -11282,7 +11711,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx0xxxxxxxxxxxxxxxx0000110101x
                                                  br.  */
-                                              return 629;
+                                              return 632;
                                             }
                                           else
                                             {
@@ -11290,7 +11719,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx0xxxxxxxxxxxxxxxx0010110101x
                                                  eret.  */
-                                              return 632;
+                                              return 635;
                                             }
                                         }
                                       else
@@ -11299,7 +11728,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxx0xxxxxxxxxxxxxxxx01x0110101x
                                              ret.  */
-                                          return 631;
+                                          return 634;
                                         }
                                     }
                                   else
@@ -11310,7 +11739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxx0xxxxxxxxxxxxxxxx1x00110101x
                                              blr.  */
-                                          return 630;
+                                          return 633;
                                         }
                                       else
                                         {
@@ -11318,7 +11747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxx0xxxxxxxxxxxxxxxx1x10110101x
                                              drps.  */
-                                          return 633;
+                                          return 636;
                                         }
                                     }
                                 }
@@ -11337,7 +11766,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx1xxxxx0xxxxxxxxxx0000x10101x
                                                  braaz.  */
-                                              return 638;
+                                              return 641;
                                             }
                                           else
                                             {
@@ -11345,7 +11774,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx1xxxxx0xxxxxxxxxx0010x10101x
                                                  eretaa.  */
-                                              return 644;
+                                              return 647;
                                             }
                                         }
                                       else
@@ -11354,7 +11783,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxx1xxxxx0xxxxxxxxxx01x0x10101x
                                              retaa.  */
-                                          return 642;
+                                          return 645;
                                         }
                                     }
                                   else
@@ -11363,7 +11792,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxx1xxxxx0xxxxxxxxxx1xx0x10101x
                                          blraaz.  */
-                                      return 640;
+                                      return 643;
                                     }
                                 }
                               else
@@ -11378,7 +11807,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx1xxxxx1xxxxxxxxxx0000x10101x
                                                  brabz.  */
-                                              return 639;
+                                              return 642;
                                             }
                                           else
                                             {
@@ -11386,7 +11815,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx1xxxxx1xxxxxxxxxx0010x10101x
                                                  eretab.  */
-                                              return 645;
+                                              return 648;
                                             }
                                         }
                                       else
@@ -11395,7 +11824,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxx1xxxxx1xxxxxxxxxx01x0x10101x
                                              retab.  */
-                                          return 643;
+                                          return 646;
                                         }
                                     }
                                   else
@@ -11404,7 +11833,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxx1xxxxx1xxxxxxxxxx1xx0x10101x
                                          blrabz.  */
-                                      return 641;
+                                      return 644;
                                     }
                                 }
                             }
@@ -11419,7 +11848,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx1010101x
                                      msr.  */
-                                  return 1154;
+                                  return 1157;
                                 }
                               else
                                 {
@@ -11429,7 +11858,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx0xxxxxxxxxx0xx1110101x
                                          braa.  */
-                                      return 634;
+                                      return 637;
                                     }
                                   else
                                     {
@@ -11437,7 +11866,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx1xxxxxxxxxx0xx1110101x
                                          brab.  */
-                                      return 635;
+                                      return 638;
                                     }
                                 }
                             }
@@ -11449,7 +11878,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx1xx1010101x
                                      sysl.  */
-                                  return 1179;
+                                  return 1182;
                                 }
                               else
                                 {
@@ -11459,7 +11888,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx0xxxxxxxxxx1xx1110101x
                                          blraa.  */
-                                      return 636;
+                                      return 639;
                                     }
                                   else
                                     {
@@ -11467,7 +11896,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx1xxxxxxxxxx1xx1110101x
                                          blrab.  */
-                                      return 637;
+                                      return 640;
                                     }
                                 }
                             }
@@ -11484,7 +11913,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxxx001011xx
                              cbz.  */
-                          return 646;
+                          return 649;
                         }
                       else
                         {
@@ -11492,7 +11921,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxxx011011xx
                              tbz.  */
-                          return 1189;
+                          return 1192;
                         }
                     }
                   else
@@ -11503,7 +11932,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxxx101011xx
                              cbnz.  */
-                          return 647;
+                          return 650;
                         }
                       else
                         {
@@ -11511,7 +11940,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxxx111011xx
                              tbnz.  */
-                          return 1190;
+                          return 1193;
                         }
                     }
                 }
@@ -11535,7 +11964,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx00001100xx
                                      st4.  */
-                                  return 431;
+                                  return 434;
                                 }
                               else
                                 {
@@ -11543,7 +11972,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx00001101xx
                                      stnp.  */
-                                  return 940;
+                                  return 943;
                                 }
                             }
                           else
@@ -11558,7 +11987,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx000101100xx
                                              st1.  */
-                                          return 447;
+                                          return 450;
                                         }
                                       else
                                         {
@@ -11566,7 +11995,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx100101100xx
                                              st2.  */
-                                          return 449;
+                                          return 452;
                                         }
                                     }
                                   else
@@ -11577,7 +12006,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx000101100xx
                                              st3.  */
-                                          return 448;
+                                          return 451;
                                         }
                                       else
                                         {
@@ -11585,7 +12014,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx100101100xx
                                              st4.  */
-                                          return 450;
+                                          return 453;
                                         }
                                     }
                                 }
@@ -11595,7 +12024,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx00101101xx
                                      stp.  */
-                                  return 944;
+                                  return 947;
                                 }
                             }
                         }
@@ -11611,7 +12040,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxx001001100xx
                                          st4.  */
-                                      return 439;
+                                      return 442;
                                     }
                                   else
                                     {
@@ -11621,7 +12050,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx001101100xx
                                              st1.  */
-                                          return 459;
+                                          return 462;
                                         }
                                       else
                                         {
@@ -11629,7 +12058,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx001101100xx
                                              st3.  */
-                                          return 460;
+                                          return 463;
                                         }
                                     }
                                 }
@@ -11641,7 +12070,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxx0xxxxxxx101x01100xx
                                          st2.  */
-                                      return 461;
+                                      return 464;
                                     }
                                   else
                                     {
@@ -11649,7 +12078,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxx1xxxxxxx101x01100xx
                                          st4.  */
-                                      return 462;
+                                      return 465;
                                     }
                                 }
                             }
@@ -11659,7 +12088,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxx01x01101xx
                                  stp.  */
-                              return 949;
+                              return 952;
                             }
                         }
                     }
@@ -11675,7 +12104,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10001100xx
                                      ld4.  */
-                                  return 435;
+                                  return 438;
                                 }
                               else
                                 {
@@ -11683,7 +12112,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10001101xx
                                      ldnp.  */
-                                  return 941;
+                                  return 944;
                                 }
                             }
                           else
@@ -11698,7 +12127,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx010101100xx
                                              ld1.  */
-                                          return 451;
+                                          return 454;
                                         }
                                       else
                                         {
@@ -11706,7 +12135,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx110101100xx
                                              ld2.  */
-                                          return 455;
+                                          return 458;
                                         }
                                     }
                                   else
@@ -11717,7 +12146,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx010101100xx
                                              ld3.  */
-                                          return 452;
+                                          return 455;
                                         }
                                       else
                                         {
@@ -11725,7 +12154,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx110101100xx
                                              ld4.  */
-                                          return 456;
+                                          return 459;
                                         }
                                     }
                                 }
@@ -11735,7 +12164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10101101xx
                                      ldp.  */
-                                  return 945;
+                                  return 948;
                                 }
                             }
                         }
@@ -11751,7 +12180,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxx011001100xx
                                          ld4.  */
-                                      return 443;
+                                      return 446;
                                     }
                                   else
                                     {
@@ -11761,7 +12190,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx011101100xx
                                              ld1.  */
-                                          return 463;
+                                          return 466;
                                         }
                                       else
                                         {
@@ -11769,7 +12198,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx011101100xx
                                              ld3.  */
-                                          return 464;
+                                          return 467;
                                         }
                                     }
                                 }
@@ -11781,7 +12210,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxx0xxxxxxx111x01100xx
                                          ld2.  */
-                                      return 467;
+                                      return 470;
                                     }
                                   else
                                     {
@@ -11789,7 +12218,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxx1xxxxxxx111x01100xx
                                          ld4.  */
-                                      return 468;
+                                      return 471;
                                     }
                                 }
                             }
@@ -11799,7 +12228,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxx11x01101xx
                                  ldp.  */
-                              return 950;
+                              return 953;
                             }
                         }
                     }
@@ -11814,7 +12243,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxxx001110xx
                              ldr.  */
-                          return 953;
+                          return 956;
                         }
                       else
                         {
@@ -11828,7 +12257,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx00xxxxxxxxxx0x001111xx
                                          stur.  */
-                                      return 896;
+                                      return 899;
                                     }
                                   else
                                     {
@@ -11836,7 +12265,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx00xxxxxxxxxx1x001111xx
                                          ldur.  */
-                                      return 897;
+                                      return 900;
                                     }
                                 }
                               else
@@ -11847,7 +12276,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx01xxxxxxxxxx0x001111xx
                                          str.  */
-                                      return 875;
+                                      return 878;
                                     }
                                   else
                                     {
@@ -11855,7 +12284,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx01xxxxxxxxxx1x001111xx
                                          ldr.  */
-                                      return 876;
+                                      return 879;
                                     }
                                 }
                             }
@@ -11867,7 +12296,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxx1xxxxxxxxxxx0x001111xx
                                      str.  */
-                                  return 852;
+                                  return 855;
                                 }
                               else
                                 {
@@ -11875,7 +12304,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxx1xxxxxxxxxxx1x001111xx
                                      ldr.  */
-                                  return 853;
+                                  return 856;
                                 }
                             }
                         }
@@ -11888,7 +12317,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxx0x10111xxx
                              str.  */
-                          return 863;
+                          return 866;
                         }
                       else
                         {
@@ -11896,7 +12325,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxx1x10111xxx
                              ldr.  */
-                          return 864;
+                          return 867;
                         }
                     }
                 }
@@ -11921,7 +12350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx000xxxxxxxx0xx011100xx
                                              tbl.  */
-                                          return 411;
+                                          return 414;
                                         }
                                       else
                                         {
@@ -11929,7 +12358,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx001xxxxxxxx0xx011100xx
                                              tbx.  */
-                                          return 412;
+                                          return 415;
                                         }
                                     }
                                   else
@@ -11942,7 +12371,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx010x0xxxxxx0xx011100xx
                                                  trn1.  */
-                                              return 256;
+                                              return 257;
                                             }
                                           else
                                             {
@@ -11950,7 +12379,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx010x1xxxxxx0xx011100xx
                                                  trn2.  */
-                                              return 259;
+                                              return 260;
                                             }
                                         }
                                       else
@@ -11963,7 +12392,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01100xxxxxx0xx011100xx
                                                      uzp1.  */
-                                                  return 255;
+                                                  return 256;
                                                 }
                                               else
                                                 {
@@ -11971,7 +12400,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01101xxxxxx0xx011100xx
                                                      uzp2.  */
-                                                  return 258;
+                                                  return 259;
                                                 }
                                             }
                                           else
@@ -11982,7 +12411,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01110xxxxxx0xx011100xx
                                                      zip1.  */
-                                                  return 257;
+                                                  return 258;
                                                 }
                                               else
                                                 {
@@ -11990,7 +12419,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01111xxxxxx0xx011100xx
                                                      zip2.  */
-                                                  return 260;
+                                                  return 261;
                                                 }
                                             }
                                         }
@@ -12002,7 +12431,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxx0xxxxxxxxxx0xx011101xx
                                      ext.  */
-                                  return 129;
+                                  return 130;
                                 }
                             }
                           else
@@ -12019,7 +12448,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx10xxx0xxxxx00x011100xx
                                                  dup.  */
-                                              return 146;
+                                              return 147;
                                             }
                                           else
                                             {
@@ -12031,7 +12460,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1100x0xxxxx00x011100xx
                                                          dup.  */
-                                                      return 147;
+                                                      return 148;
                                                     }
                                                   else
                                                     {
@@ -12039,7 +12468,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1101x0xxxxx00x011100xx
                                                          smov.  */
-                                                      return 148;
+                                                      return 149;
                                                     }
                                                 }
                                               else
@@ -12050,7 +12479,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1110x0xxxxx00x011100xx
                                                          ins.  */
-                                                      return 151;
+                                                      return 152;
                                                     }
                                                   else
                                                     {
@@ -12058,7 +12487,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1111x0xxxxx00x011100xx
                                                          umov.  */
-                                                      return 149;
+                                                      return 150;
                                                     }
                                                 }
                                             }
@@ -12069,7 +12498,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx1xxxx0xxxxx00x011101xx
                                              ins.  */
-                                          return 153;
+                                          return 154;
                                         }
                                     }
                                   else
@@ -12088,7 +12517,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1000x0xxxxx010011100xx
                                                              fmaxnm.  */
-                                                          return 285;
+                                                          return 286;
                                                         }
                                                       else
                                                         {
@@ -12096,7 +12525,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1000x0xxxxx010011101xx
                                                              fmaxnmp.  */
-                                                          return 336;
+                                                          return 337;
                                                         }
                                                     }
                                                   else
@@ -12107,7 +12536,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1000x0xxxxx011011100xx
                                                              fminnm.  */
-                                                          return 301;
+                                                          return 302;
                                                         }
                                                       else
                                                         {
@@ -12115,7 +12544,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1000x0xxxxx011011101xx
                                                              fminnmp.  */
-                                                          return 352;
+                                                          return 353;
                                                         }
                                                     }
                                                 }
@@ -12129,7 +12558,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1001x0xxxxx010011100xx
                                                              fcmeq.  */
-                                                          return 293;
+                                                          return 294;
                                                         }
                                                       else
                                                         {
@@ -12137,7 +12566,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1001x0xxxxx010011101xx
                                                              fcmge.  */
-                                                          return 342;
+                                                          return 343;
                                                         }
                                                     }
                                                   else
@@ -12146,7 +12575,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1001x0xxxxx01101110xxx
                                                          fcmgt.  */
-                                                      return 356;
+                                                      return 357;
                                                     }
                                                 }
                                             }
@@ -12162,7 +12591,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1010x0xxxxx010011100xx
                                                              fadd.  */
-                                                          return 289;
+                                                          return 290;
                                                         }
                                                       else
                                                         {
@@ -12170,7 +12599,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1010x0xxxxx010011101xx
                                                              faddp.  */
-                                                          return 338;
+                                                          return 339;
                                                         }
                                                     }
                                                   else
@@ -12181,7 +12610,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1010x0xxxxx011011100xx
                                                              fsub.  */
-                                                          return 305;
+                                                          return 306;
                                                         }
                                                       else
                                                         {
@@ -12189,7 +12618,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1010x0xxxxx011011101xx
                                                              fabd.  */
-                                                          return 354;
+                                                          return 355;
                                                         }
                                                     }
                                                 }
@@ -12203,7 +12632,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1011x0xxxxx010011100xx
                                                              fmax.  */
-                                                          return 295;
+                                                          return 296;
                                                         }
                                                       else
                                                         {
@@ -12211,7 +12640,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1011x0xxxxx010011101xx
                                                              fmaxp.  */
-                                                          return 346;
+                                                          return 347;
                                                         }
                                                     }
                                                   else
@@ -12222,7 +12651,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1011x0xxxxx011011100xx
                                                              fmin.  */
-                                                          return 307;
+                                                          return 308;
                                                         }
                                                       else
                                                         {
@@ -12230,7 +12659,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1011x0xxxxx011011101xx
                                                              fminp.  */
-                                                          return 360;
+                                                          return 361;
                                                         }
                                                     }
                                                 }
@@ -12248,7 +12677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1100x0xxxxx01001110xxx
                                                          fmla.  */
-                                                      return 287;
+                                                      return 288;
                                                     }
                                                   else
                                                     {
@@ -12256,7 +12685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1100x0xxxxx01101110xxx
                                                          fmls.  */
-                                                      return 303;
+                                                      return 304;
                                                     }
                                                 }
                                               else
@@ -12267,7 +12696,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1101x0xxxxx01001110xxx
                                                          facge.  */
-                                                      return 344;
+                                                      return 345;
                                                     }
                                                   else
                                                     {
@@ -12275,7 +12704,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1101x0xxxxx01101110xxx
                                                          facgt.  */
-                                                      return 358;
+                                                      return 359;
                                                     }
                                                 }
                                             }
@@ -12289,7 +12718,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1110x0xxxxx01x011100xx
                                                          fmulx.  */
-                                                      return 291;
+                                                      return 292;
                                                     }
                                                   else
                                                     {
@@ -12297,7 +12726,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1110x0xxxxx01x011101xx
                                                          fmul.  */
-                                                      return 340;
+                                                      return 341;
                                                     }
                                                 }
                                               else
@@ -12310,7 +12739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1111x0xxxxx010011100xx
                                                              frecps.  */
-                                                          return 297;
+                                                          return 298;
                                                         }
                                                       else
                                                         {
@@ -12318,7 +12747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx1111x0xxxxx010011101xx
                                                              fdiv.  */
-                                                          return 348;
+                                                          return 349;
                                                         }
                                                     }
                                                   else
@@ -12327,7 +12756,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1111x0xxxxx01101110xxx
                                                          frsqrts.  */
-                                                      return 309;
+                                                      return 310;
                                                     }
                                                 }
                                             }
@@ -12336,21 +12765,65 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 }
                               else
                                 {
-                                  if (((word >> 11) & 0x1) == 0)
+                                  if (((word >> 13) & 0x1) == 0)
                                     {
-                                      /* 33222222222211111111110000000000
-                                         10987654321098765432109876543210
-                                         xxxxxxxxxx10xxx1xxxxx0xx01110xxx
-                                         sqrdmlah.  */
-                                      return 363;
+                                      if (((word >> 14) & 0x1) == 0)
+                                        {
+                                          if (((word >> 11) & 0x1) == 0)
+                                            {
+                                              if (((word >> 12) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx100001xxxxx0xx01110xxx
+                                                     sqrdmlah.  */
+                                                  return 364;
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 29) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx101001xxxxx0xx011100xx
+                                                         sdot.  */
+                                                      return 1987;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx101001xxxxx0xx011101xx
+                                                         udot.  */
+                                                      return 1986;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxx11x001xxxxx0xx01110xxx
+                                                 sqrdmlsh.  */
+                                              return 365;
+                                            }
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxx1xx011xxxxx0xx01110xxx
+                                             fcmla.  */
+                                          return 366;
+                                        }
                                     }
                                   else
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx11xxx1xxxxx0xx01110xxx
-                                         sqrdmlsh.  */
-                                      return 364;
+                                         xxxxxxxxxx1xx1x1xxxxx0xx01110xxx
+                                         fcadd.  */
+                                      return 367;
                                     }
                                 }
                             }
@@ -12369,7 +12842,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxxx00xxx0xx0111100x
                                              fcvtzs.  */
-                                          return 749;
+                                          return 752;
                                         }
                                       else
                                         {
@@ -12377,7 +12850,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxxx01xxx0xx0111100x
                                              scvtf.  */
-                                          return 745;
+                                          return 748;
                                         }
                                     }
                                   else
@@ -12388,7 +12861,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxxx10xxx0xx0111100x
                                              fcvtzu.  */
-                                          return 751;
+                                          return 754;
                                         }
                                       else
                                         {
@@ -12396,7 +12869,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxxx11xxx0xx0111100x
                                              ucvtf.  */
-                                          return 747;
+                                          return 750;
                                         }
                                     }
                                 }
@@ -12414,7 +12887,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x000xxxxxx0xx0111101x
                                                      sha1c.  */
-                                                  return 669;
+                                                  return 672;
                                                 }
                                               else
                                                 {
@@ -12422,7 +12895,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x001xxxxxx0xx0111101x
                                                      sha256h.  */
-                                                  return 673;
+                                                  return 676;
                                                 }
                                             }
                                           else
@@ -12433,7 +12906,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x010xxxxxx0xx0111101x
                                                      sha1m.  */
-                                                  return 671;
+                                                  return 674;
                                                 }
                                               else
                                                 {
@@ -12441,7 +12914,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x011xxxxxx0xx0111101x
                                                      sha256su1.  */
-                                                  return 675;
+                                                  return 678;
                                                 }
                                             }
                                         }
@@ -12455,7 +12928,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x100xxxxxx0xx0111101x
                                                      sha1p.  */
-                                                  return 670;
+                                                  return 673;
                                                 }
                                               else
                                                 {
@@ -12463,7 +12936,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x101xxxxxx0xx0111101x
                                                      sha256h2.  */
-                                                  return 674;
+                                                  return 677;
                                                 }
                                             }
                                           else
@@ -12472,7 +12945,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x11xxxxxxx0xx0111101x
                                                  sha1su0.  */
-                                              return 672;
+                                              return 675;
                                             }
                                         }
                                     }
@@ -12486,7 +12959,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx10x0xxxxxxx0xx0111101x
                                                  dup.  */
-                                              return 526;
+                                              return 529;
                                             }
                                           else
                                             {
@@ -12494,7 +12967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx10x1xxxxxxx0xx0111101x
                                                  fcmeq.  */
-                                              return 547;
+                                              return 550;
                                             }
                                         }
                                       else
@@ -12505,7 +12978,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx11x0xxxxxxx0xx0111101x
                                                  fmulx.  */
-                                              return 545;
+                                              return 548;
                                             }
                                           else
                                             {
@@ -12515,7 +12988,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx11x1xxxxxxx0x00111101x
                                                      frecps.  */
-                                                  return 549;
+                                                  return 552;
                                                 }
                                               else
                                                 {
@@ -12523,7 +12996,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx11x1xxxxxxx0x10111101x
                                                      frsqrts.  */
-                                                  return 551;
+                                                  return 554;
                                                 }
                                             }
                                         }
@@ -12542,7 +13015,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxx000xxxxxxx0xx011111xx
                                              sqrdmlah.  */
-                                          return 579;
+                                          return 582;
                                         }
                                       else
                                         {
@@ -12552,7 +13025,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxx001xxxxxxx0x0011111xx
                                                  fcmge.  */
-                                              return 564;
+                                              return 567;
                                             }
                                           else
                                             {
@@ -12560,7 +13033,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxx001xxxxxxx0x1011111xx
                                                  fcmgt.  */
-                                              return 570;
+                                              return 573;
                                             }
                                         }
                                     }
@@ -12570,7 +13043,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxx01xxxxxxxx0xx011111xx
                                          fabd.  */
-                                      return 568;
+                                      return 571;
                                     }
                                 }
                               else
@@ -12581,7 +13054,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxx1x0xxxxxxx0xx011111xx
                                          sqrdmlsh.  */
-                                      return 580;
+                                      return 583;
                                     }
                                   else
                                     {
@@ -12591,7 +13064,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxx1x1xxxxxxx0x0011111xx
                                              facge.  */
-                                          return 566;
+                                          return 569;
                                         }
                                       else
                                         {
@@ -12599,7 +13072,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxx1x1xxxxxxx0x1011111xx
                                              facgt.  */
-                                          return 572;
+                                          return 575;
                                         }
                                     }
                                 }
@@ -12677,7 +13150,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000000001xx01111xxx
                                                                          fcvtns.  */
-                                                                      return 753;
+                                                                      return 756;
                                                                     }
                                                                   else
                                                                     {
@@ -12685,7 +13158,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000000011xx01111xxx
                                                                          fcvtms.  */
-                                                                      return 773;
+                                                                      return 776;
                                                                     }
                                                                 }
                                                               else
@@ -12696,7 +13169,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000000101xx01111xxx
                                                                          fcvtps.  */
-                                                                      return 769;
+                                                                      return 772;
                                                                     }
                                                                   else
                                                                     {
@@ -12704,7 +13177,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000000111xx01111xxx
                                                                          fcvtzs.  */
-                                                                      return 777;
+                                                                      return 780;
                                                                     }
                                                                 }
                                                             }
@@ -12714,7 +13187,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000000001xx1xx01111xxx
                                                                  fcvtas.  */
-                                                              return 761;
+                                                              return 764;
                                                             }
                                                         }
                                                       else
@@ -12725,7 +13198,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000000010xx1xx01111xxx
                                                                  scvtf.  */
-                                                              return 757;
+                                                              return 760;
                                                             }
                                                           else
                                                             {
@@ -12735,7 +13208,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0000000110x1xx01111xxx
                                                                      fmov.  */
-                                                                  return 765;
+                                                                  return 768;
                                                                 }
                                                               else
                                                                 {
@@ -12745,7 +13218,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000011101xx01111xxx
                                                                          fmov.  */
-                                                                      return 781;
+                                                                      return 784;
                                                                     }
                                                                   else
                                                                     {
@@ -12753,7 +13226,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000011111xx01111xxx
                                                                          fjcvtzs.  */
-                                                                      return 783;
+                                                                      return 786;
                                                                     }
                                                                 }
                                                             }
@@ -12773,7 +13246,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000100001xx01111xxx
                                                                          fcvtnu.  */
-                                                                      return 755;
+                                                                      return 758;
                                                                     }
                                                                   else
                                                                     {
@@ -12781,7 +13254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000100011xx01111xxx
                                                                          fcvtmu.  */
-                                                                      return 775;
+                                                                      return 778;
                                                                     }
                                                                 }
                                                               else
@@ -12792,7 +13265,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000100101xx01111xxx
                                                                          fcvtpu.  */
-                                                                      return 771;
+                                                                      return 774;
                                                                     }
                                                                   else
                                                                     {
@@ -12800,7 +13273,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000100111xx01111xxx
                                                                          fcvtzu.  */
-                                                                      return 779;
+                                                                      return 782;
                                                                     }
                                                                 }
                                                             }
@@ -12810,7 +13283,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000000101xx1xx01111xxx
                                                                  fcvtau.  */
-                                                              return 763;
+                                                              return 766;
                                                             }
                                                         }
                                                       else
@@ -12821,7 +13294,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000000110xx1xx01111xxx
                                                                  ucvtf.  */
-                                                              return 759;
+                                                              return 762;
                                                             }
                                                           else
                                                             {
@@ -12831,7 +13304,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0000001110x1xx01111xxx
                                                                      fmov.  */
-                                                                  return 767;
+                                                                  return 770;
                                                                 }
                                                               else
                                                                 {
@@ -12839,7 +13312,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0000001111x1xx01111xxx
                                                                      fmov.  */
-                                                                  return 782;
+                                                                  return 785;
                                                                 }
                                                             }
                                                         }
@@ -12989,7 +13462,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010000xx1xx01111xxx
                                                                  fmov.  */
-                                                              return 796;
+                                                              return 799;
                                                             }
                                                           else
                                                             {
@@ -12997,7 +13470,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010001xx1xx01111xxx
                                                                  frintn.  */
-                                                              return 805;
+                                                              return 808;
                                                             }
                                                         }
                                                       else
@@ -13008,7 +13481,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010100xx1xx01111xxx
                                                                  fneg.  */
-                                                              return 800;
+                                                              return 803;
                                                             }
                                                           else
                                                             {
@@ -13016,7 +13489,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010101xx1xx01111xxx
                                                                  frintm.  */
-                                                              return 809;
+                                                              return 812;
                                                             }
                                                         }
                                                     }
@@ -13030,7 +13503,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011000xx1xx01111xxx
                                                                  fabs.  */
-                                                              return 798;
+                                                              return 801;
                                                             }
                                                           else
                                                             {
@@ -13038,7 +13511,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011001xx1xx01111xxx
                                                                  frintp.  */
-                                                              return 807;
+                                                              return 810;
                                                             }
                                                         }
                                                       else
@@ -13049,7 +13522,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011100xx1xx01111xxx
                                                                  fsqrt.  */
-                                                              return 802;
+                                                              return 805;
                                                             }
                                                           else
                                                             {
@@ -13057,7 +13530,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011101xx1xx01111xxx
                                                                  frintz.  */
-                                                              return 811;
+                                                              return 814;
                                                             }
                                                         }
                                                     }
@@ -13070,7 +13543,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00001xx10xx1xx01111xxx
                                                          fcvt.  */
-                                                      return 804;
+                                                      return 807;
                                                     }
                                                   else
                                                     {
@@ -13082,7 +13555,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010011xx1xx01111xxx
                                                                  frinta.  */
-                                                              return 813;
+                                                              return 816;
                                                             }
                                                           else
                                                             {
@@ -13090,7 +13563,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010111xx1xx01111xxx
                                                                  frintx.  */
-                                                              return 815;
+                                                              return 818;
                                                             }
                                                         }
                                                       else
@@ -13099,7 +13572,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000011x11xx1xx01111xxx
                                                              frinti.  */
-                                                          return 817;
+                                                          return 820;
                                                         }
                                                     }
                                                 }
@@ -13163,7 +13636,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx00xxxxx000100xxxxx1xx01111xxx
                                                              fcmp.  */
-                                                          return 788;
+                                                          return 791;
                                                         }
                                                       else
                                                         {
@@ -13171,7 +13644,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx01xxxxx000100xxxxx1xx01111xxx
                                                              fcmpe.  */
-                                                          return 790;
+                                                          return 793;
                                                         }
                                                     }
                                                   else
@@ -13182,7 +13655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx10xxxxx000100xxxxx1xx01111xxx
                                                              fcmp.  */
-                                                          return 792;
+                                                          return 795;
                                                         }
                                                       else
                                                         {
@@ -13190,7 +13663,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx11xxxxx000100xxxxx1xx01111xxx
                                                              fcmpe.  */
-                                                          return 794;
+                                                          return 797;
                                                         }
                                                     }
                                                 }
@@ -13573,7 +14046,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx001xxxxxxxx1xx01111x0x
                                              fmov.  */
-                                          return 845;
+                                          return 848;
                                         }
                                       else
                                         {
@@ -13585,7 +14058,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00100xxxxxx1xx01111x1x
                                                      sqdmlal.  */
-                                                  return 413;
+                                                  return 416;
                                                 }
                                               else
                                                 {
@@ -13593,7 +14066,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00101xxxxxx1xx01111x1x
                                                      sqdmull.  */
-                                                  return 415;
+                                                  return 418;
                                                 }
                                             }
                                           else
@@ -13602,7 +14075,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0011xxxxxxx1xx01111x1x
                                                  sqdmlsl.  */
-                                              return 414;
+                                              return 417;
                                             }
                                         }
                                     }
@@ -13626,7 +14099,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010000xxxxx1xx011100xx
                                                          rev64.  */
-                                                      return 155;
+                                                      return 156;
                                                     }
                                                   else
                                                     {
@@ -13634,7 +14107,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010000xxxxx1xx011101xx
                                                          rev32.  */
-                                                      return 206;
+                                                      return 207;
                                                     }
                                                 }
                                               else
@@ -13645,7 +14118,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010000xxxxx1xx01111x0x
                                                          fmul.  */
-                                                      return 819;
+                                                      return 822;
                                                     }
                                                   else
                                                     {
@@ -13653,7 +14126,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010000xxxxx1xx01111x1x
                                                          sha1h.  */
-                                                      return 666;
+                                                      return 669;
                                                     }
                                                 }
                                             }
@@ -13669,7 +14142,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0100010xxxx1xx011100xx
                                                              cmgt.  */
-                                                          return 163;
+                                                          return 164;
                                                         }
                                                       else
                                                         {
@@ -13677,7 +14150,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0100010xxxx1xx011101xx
                                                              cmge.  */
-                                                          return 212;
+                                                          return 213;
                                                         }
                                                     }
                                                   else
@@ -13692,7 +14165,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0100011xx0x1x0011100xx
                                                                      frintn.  */
-                                                                  return 175;
+                                                                  return 176;
                                                                 }
                                                               else
                                                                 {
@@ -13700,7 +14173,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0100011xx0x1x0011101xx
                                                                      frinta.  */
-                                                                  return 223;
+                                                                  return 224;
                                                                 }
                                                             }
                                                           else
@@ -13709,7 +14182,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100011xx0x1x101110xxx
                                                                  frintp.  */
-                                                              return 195;
+                                                              return 196;
                                                             }
                                                         }
                                                       else
@@ -13722,7 +14195,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0100011xx1x1x0011100xx
                                                                      frintn.  */
-                                                                  return 176;
+                                                                  return 177;
                                                                 }
                                                               else
                                                                 {
@@ -13730,7 +14203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0100011xx1x1x0011101xx
                                                                      frinta.  */
-                                                                  return 224;
+                                                                  return 225;
                                                                 }
                                                             }
                                                           else
@@ -13739,7 +14212,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100011xx1x1x101110xxx
                                                                  frintp.  */
-                                                              return 196;
+                                                              return 197;
                                                             }
                                                         }
                                                     }
@@ -13754,7 +14227,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010001xxxxx1xx0111100x
                                                              fnmul.  */
-                                                          return 835;
+                                                          return 838;
                                                         }
                                                       else
                                                         {
@@ -13762,7 +14235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010001xxxxx1xx0111101x
                                                              cmgt.  */
-                                                          return 473;
+                                                          return 476;
                                                         }
                                                     }
                                                   else
@@ -13771,7 +14244,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010001xxxxx1xx011111xx
                                                          cmge.  */
-                                                      return 502;
+                                                      return 505;
                                                     }
                                                 }
                                             }
@@ -13792,7 +14265,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100100xx0x1xx011100xx
                                                                  cls.  */
-                                                              return 159;
+                                                              return 160;
                                                             }
                                                           else
                                                             {
@@ -13800,7 +14273,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100100xx0x1xx011101xx
                                                                  clz.  */
-                                                              return 209;
+                                                              return 210;
                                                             }
                                                         }
                                                       else
@@ -13809,7 +14282,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0100100xx1x1xx01110xxx
                                                              aese.  */
-                                                          return 662;
+                                                          return 665;
                                                         }
                                                     }
                                                   else
@@ -13822,7 +14295,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100101xxxx1xx0111000x
                                                                  sqxtn.  */
-                                                              return 169;
+                                                              return 170;
                                                             }
                                                           else
                                                             {
@@ -13830,7 +14303,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100101xxxx1xx0111001x
                                                                  sqxtn2.  */
-                                                              return 170;
+                                                              return 171;
                                                             }
                                                         }
                                                       else
@@ -13841,7 +14314,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100101xxxx1xx0111010x
                                                                  uqxtn.  */
-                                                              return 219;
+                                                              return 220;
                                                             }
                                                           else
                                                             {
@@ -13849,7 +14322,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100101xxxx1xx0111011x
                                                                  uqxtn2.  */
-                                                              return 220;
+                                                              return 221;
                                                             }
                                                         }
                                                     }
@@ -13864,7 +14337,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010010xxxxx1xx0111100x
                                                              fmax.  */
-                                                          return 827;
+                                                          return 830;
                                                         }
                                                       else
                                                         {
@@ -13872,7 +14345,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010010xxxxx1xx0111101x
                                                              sqxtn.  */
-                                                          return 477;
+                                                          return 480;
                                                         }
                                                     }
                                                   else
@@ -13881,7 +14354,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010010xxxxx1xx011111xx
                                                          uqxtn.  */
-                                                      return 506;
+                                                      return 509;
                                                     }
                                                 }
                                             }
@@ -13901,7 +14374,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0100110xx001xx011100xx
                                                                      fcmgt.  */
-                                                                  return 187;
+                                                                  return 188;
                                                                 }
                                                               else
                                                                 {
@@ -13909,7 +14382,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0100110xx001xx011101xx
                                                                      fcmge.  */
-                                                                  return 238;
+                                                                  return 239;
                                                                 }
                                                             }
                                                           else
@@ -13920,7 +14393,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0100110xx001xx011110xx
                                                                      fcmgt.  */
-                                                                  return 486;
+                                                                  return 489;
                                                                 }
                                                               else
                                                                 {
@@ -13928,7 +14401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0100110xx001xx011111xx
                                                                      fcmge.  */
-                                                                  return 516;
+                                                                  return 519;
                                                                 }
                                                             }
                                                         }
@@ -13963,7 +14436,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0100110xx011x0011110xx
                                                                          fmaxnmp.  */
-                                                                      return 530;
+                                                                      return 533;
                                                                     }
                                                                   else
                                                                     {
@@ -13971,7 +14444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0100110xx011x0011111xx
                                                                          fmaxnmp.  */
-                                                                      return 529;
+                                                                      return 532;
                                                                     }
                                                                 }
                                                             }
@@ -14004,7 +14477,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0100110xx011x1011110xx
                                                                          fminnmp.  */
-                                                                      return 536;
+                                                                      return 539;
                                                                     }
                                                                   else
                                                                     {
@@ -14012,7 +14485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0100110xx011x1011111xx
                                                                          fminnmp.  */
-                                                                      return 535;
+                                                                      return 538;
                                                                     }
                                                                 }
                                                             }
@@ -14028,7 +14501,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100110xx1x1xx011100xx
                                                                  fcmgt.  */
-                                                              return 188;
+                                                              return 189;
                                                             }
                                                           else
                                                             {
@@ -14036,7 +14509,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100110xx1x1xx011101xx
                                                                  fcmge.  */
-                                                              return 239;
+                                                              return 240;
                                                             }
                                                         }
                                                       else
@@ -14047,7 +14520,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100110xx1x1xx011110xx
                                                                  fcmgt.  */
-                                                              return 487;
+                                                              return 490;
                                                             }
                                                           else
                                                             {
@@ -14055,7 +14528,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100110xx1x1xx011111xx
                                                                  fcmge.  */
-                                                              return 517;
+                                                              return 520;
                                                             }
                                                         }
                                                     }
@@ -14074,7 +14547,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0100111xx0x1x0011100xx
                                                                      fcvtas.  */
-                                                                  return 183;
+                                                                  return 184;
                                                                 }
                                                               else
                                                                 {
@@ -14082,7 +14555,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0100111xx0x1x0011101xx
                                                                      fcvtau.  */
-                                                                  return 231;
+                                                                  return 232;
                                                                 }
                                                             }
                                                           else
@@ -14093,7 +14566,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0100111xx0x1x0011110xx
                                                                      fcvtas.  */
-                                                                  return 482;
+                                                                  return 485;
                                                                 }
                                                               else
                                                                 {
@@ -14101,7 +14574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0100111xx0x1x0011111xx
                                                                      fcvtau.  */
-                                                                  return 512;
+                                                                  return 515;
                                                                 }
                                                             }
                                                         }
@@ -14113,7 +14586,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100111xx0x1x10111x0xx
                                                                  urecpe.  */
-                                                              return 203;
+                                                              return 204;
                                                             }
                                                           else
                                                             {
@@ -14121,7 +14594,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100111xx0x1x10111x1xx
                                                                  ursqrte.  */
-                                                              return 250;
+                                                              return 251;
                                                             }
                                                         }
                                                     }
@@ -14135,7 +14608,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100111xx1x1xx011100xx
                                                                  fcvtas.  */
-                                                              return 184;
+                                                              return 185;
                                                             }
                                                           else
                                                             {
@@ -14143,7 +14616,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100111xx1x1xx011101xx
                                                                  fcvtau.  */
-                                                              return 232;
+                                                              return 233;
                                                             }
                                                         }
                                                       else
@@ -14154,7 +14627,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100111xx1x1xx011110xx
                                                                  fcvtas.  */
-                                                              return 483;
+                                                              return 486;
                                                             }
                                                           else
                                                             {
@@ -14162,7 +14635,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100111xx1x1xx011111xx
                                                                  fcvtau.  */
-                                                              return 513;
+                                                              return 516;
                                                             }
                                                         }
                                                     }
@@ -14186,7 +14659,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0101000xxxx1xx011100xx
                                                              saddlp.  */
-                                                          return 157;
+                                                          return 158;
                                                         }
                                                       else
                                                         {
@@ -14194,7 +14667,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0101000xxxx1xx011101xx
                                                              uaddlp.  */
-                                                          return 207;
+                                                          return 208;
                                                         }
                                                     }
                                                   else
@@ -14207,7 +14680,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101001xxxx1xx0111000x
                                                                  xtn.  */
-                                                              return 167;
+                                                              return 168;
                                                             }
                                                           else
                                                             {
@@ -14215,7 +14688,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101001xxxx1xx0111001x
                                                                  xtn2.  */
-                                                              return 168;
+                                                              return 169;
                                                             }
                                                         }
                                                       else
@@ -14226,7 +14699,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101001xxxx1xx0111010x
                                                                  sqxtun.  */
-                                                              return 215;
+                                                              return 216;
                                                             }
                                                           else
                                                             {
@@ -14234,7 +14707,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101001xxxx1xx0111011x
                                                                  sqxtun2.  */
-                                                              return 216;
+                                                              return 217;
                                                             }
                                                         }
                                                     }
@@ -14249,7 +14722,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010100xxxxx1xx0111100x
                                                              fadd.  */
-                                                          return 823;
+                                                          return 826;
                                                         }
                                                       else
                                                         {
@@ -14257,7 +14730,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010100xxxxx1xx0111101x
                                                              sha256su0.  */
-                                                          return 668;
+                                                          return 671;
                                                         }
                                                     }
                                                   else
@@ -14266,7 +14739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010100xxxxx1xx011111xx
                                                          sqxtun.  */
-                                                      return 505;
+                                                      return 508;
                                                     }
                                                 }
                                             }
@@ -14282,7 +14755,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0101010xxx01xx01110xxx
                                                              cmlt.  */
-                                                          return 165;
+                                                          return 166;
                                                         }
                                                       else
                                                         {
@@ -14290,7 +14763,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0101010xxx01xx01111xxx
                                                              cmlt.  */
-                                                          return 475;
+                                                          return 478;
                                                         }
                                                     }
                                                   else
@@ -14329,7 +14802,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0101011xx001x0011100xx
                                                                          fcvtns.  */
-                                                                      return 179;
+                                                                      return 180;
                                                                     }
                                                                   else
                                                                     {
@@ -14337,7 +14810,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0101011xx001x0011101xx
                                                                          fcvtnu.  */
-                                                                      return 227;
+                                                                      return 228;
                                                                     }
                                                                 }
                                                               else
@@ -14348,7 +14821,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0101011xx001x0011110xx
                                                                          fcvtns.  */
-                                                                      return 478;
+                                                                      return 481;
                                                                     }
                                                                   else
                                                                     {
@@ -14356,7 +14829,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0101011xx001x0011111xx
                                                                          fcvtnu.  */
-                                                                      return 508;
+                                                                      return 511;
                                                                     }
                                                                 }
                                                             }
@@ -14370,7 +14843,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0101011xx001x1011100xx
                                                                          fcvtps.  */
-                                                                      return 199;
+                                                                      return 200;
                                                                     }
                                                                   else
                                                                     {
@@ -14378,7 +14851,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0101011xx001x1011101xx
                                                                          fcvtpu.  */
-                                                                      return 246;
+                                                                      return 247;
                                                                     }
                                                                 }
                                                               else
@@ -14389,7 +14862,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0101011xx001x1011110xx
                                                                          fcvtps.  */
-                                                                      return 492;
+                                                                      return 495;
                                                                     }
                                                                   else
                                                                     {
@@ -14397,7 +14870,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0101011xx001x1011111xx
                                                                          fcvtpu.  */
-                                                                      return 520;
+                                                                      return 523;
                                                                     }
                                                                 }
                                                             }
@@ -14434,7 +14907,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0101011xx1x1x0011100xx
                                                                      fcvtns.  */
-                                                                  return 180;
+                                                                  return 181;
                                                                 }
                                                               else
                                                                 {
@@ -14442,7 +14915,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0101011xx1x1x0011101xx
                                                                      fcvtnu.  */
-                                                                  return 228;
+                                                                  return 229;
                                                                 }
                                                             }
                                                           else
@@ -14453,7 +14926,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0101011xx1x1x0011110xx
                                                                      fcvtns.  */
-                                                                  return 479;
+                                                                  return 482;
                                                                 }
                                                               else
                                                                 {
@@ -14461,7 +14934,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0101011xx1x1x0011111xx
                                                                      fcvtnu.  */
-                                                                  return 509;
+                                                                  return 512;
                                                                 }
                                                             }
                                                         }
@@ -14475,7 +14948,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0101011xx1x1x1011100xx
                                                                      fcvtps.  */
-                                                                  return 200;
+                                                                  return 201;
                                                                 }
                                                               else
                                                                 {
@@ -14483,7 +14956,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0101011xx1x1x1011101xx
                                                                      fcvtpu.  */
-                                                                  return 247;
+                                                                  return 248;
                                                                 }
                                                             }
                                                           else
@@ -14494,7 +14967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0101011xx1x1x1011110xx
                                                                      fcvtps.  */
-                                                                  return 493;
+                                                                  return 496;
                                                                 }
                                                               else
                                                                 {
@@ -14502,7 +14975,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0101011xx1x1x1011111xx
                                                                      fcvtpu.  */
-                                                                  return 521;
+                                                                  return 524;
                                                                 }
                                                             }
                                                         }
@@ -14526,7 +14999,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101100xx0x1xx011100xx
                                                                  sadalp.  */
-                                                              return 161;
+                                                              return 162;
                                                             }
                                                           else
                                                             {
@@ -14534,7 +15007,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101100xx0x1xx011101xx
                                                                  uadalp.  */
-                                                              return 210;
+                                                              return 211;
                                                             }
                                                         }
                                                       else
@@ -14543,7 +15016,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0101100xx1x1xx01110xxx
                                                              aesmc.  */
-                                                          return 664;
+                                                          return 667;
                                                         }
                                                     }
                                                   else
@@ -14556,7 +15029,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101101xxxx1xx0111000x
                                                                  fcvtn.  */
-                                                              return 171;
+                                                              return 172;
                                                             }
                                                           else
                                                             {
@@ -14564,7 +15037,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101101xxxx1xx0111001x
                                                                  fcvtn2.  */
-                                                              return 172;
+                                                              return 173;
                                                             }
                                                         }
                                                       else
@@ -14575,7 +15048,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101101xxxx1xx0111010x
                                                                  fcvtxn.  */
-                                                              return 221;
+                                                              return 222;
                                                             }
                                                           else
                                                             {
@@ -14583,7 +15056,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101101xxxx1xx0111011x
                                                                  fcvtxn2.  */
-                                                              return 222;
+                                                              return 223;
                                                             }
                                                         }
                                                     }
@@ -14596,7 +15069,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010110xxxxx1xx011110xx
                                                          fmaxnm.  */
-                                                      return 831;
+                                                      return 834;
                                                     }
                                                   else
                                                     {
@@ -14604,7 +15077,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010110xxxxx1xx011111xx
                                                          fcvtxn.  */
-                                                      return 507;
+                                                      return 510;
                                                     }
                                                 }
                                             }
@@ -14618,7 +15091,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010111xxx0x1xx01110xxx
                                                          fcmlt.  */
-                                                      return 191;
+                                                      return 192;
                                                     }
                                                   else
                                                     {
@@ -14626,7 +15099,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010111xxx0x1xx01111xxx
                                                          fcmlt.  */
-                                                      return 490;
+                                                      return 493;
                                                     }
                                                 }
                                               else
@@ -14637,7 +15110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010111xxx1x1xx01110xxx
                                                          fcmlt.  */
-                                                      return 192;
+                                                      return 193;
                                                     }
                                                   else
                                                     {
@@ -14645,7 +15118,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010111xxx1x1xx01111xxx
                                                          fcmlt.  */
-                                                      return 491;
+                                                      return 494;
                                                     }
                                                 }
                                             }
@@ -14666,7 +15139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx011000xxxxx1xx01110xxx
                                                      rev16.  */
-                                                  return 156;
+                                                  return 157;
                                                 }
                                               else
                                                 {
@@ -14676,7 +15149,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx011000xxxxx1xx01111x0x
                                                          fdiv.  */
-                                                      return 821;
+                                                      return 824;
                                                     }
                                                   else
                                                     {
@@ -14684,7 +15157,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx011000xxxxx1xx01111x1x
                                                          sha1su1.  */
-                                                      return 667;
+                                                      return 670;
                                                     }
                                                 }
                                             }
@@ -14700,7 +15173,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0110010xxxx1xx011100xx
                                                              cmeq.  */
-                                                          return 164;
+                                                          return 165;
                                                         }
                                                       else
                                                         {
@@ -14708,7 +15181,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0110010xxxx1xx011101xx
                                                              cmle.  */
-                                                          return 213;
+                                                          return 214;
                                                         }
                                                     }
                                                   else
@@ -14719,7 +15192,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0110010xxxx1xx011110xx
                                                              cmeq.  */
-                                                          return 474;
+                                                          return 477;
                                                         }
                                                       else
                                                         {
@@ -14727,7 +15200,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0110010xxxx1xx011111xx
                                                              cmle.  */
-                                                          return 503;
+                                                          return 506;
                                                         }
                                                     }
                                                 }
@@ -14743,7 +15216,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110011xx0x1x00111x0xx
                                                                  frintm.  */
-                                                              return 177;
+                                                              return 178;
                                                             }
                                                           else
                                                             {
@@ -14751,7 +15224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110011xx0x1x00111x1xx
                                                                  frintx.  */
-                                                              return 225;
+                                                              return 226;
                                                             }
                                                         }
                                                       else
@@ -14762,7 +15235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110011xx0x1x10111x0xx
                                                                  frintz.  */
-                                                              return 197;
+                                                              return 198;
                                                             }
                                                           else
                                                             {
@@ -14770,7 +15243,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110011xx0x1x10111x1xx
                                                                  frinti.  */
-                                                              return 244;
+                                                              return 245;
                                                             }
                                                         }
                                                     }
@@ -14784,7 +15257,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110011xx1x1x00111x0xx
                                                                  frintm.  */
-                                                              return 178;
+                                                              return 179;
                                                             }
                                                           else
                                                             {
@@ -14792,7 +15265,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110011xx1x1x00111x1xx
                                                                  frintx.  */
-                                                              return 226;
+                                                              return 227;
                                                             }
                                                         }
                                                       else
@@ -14803,7 +15276,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110011xx1x1x10111x0xx
                                                                  frintz.  */
-                                                              return 198;
+                                                              return 199;
                                                             }
                                                           else
                                                             {
@@ -14811,7 +15284,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110011xx1x1x10111x1xx
                                                                  frinti.  */
-                                                              return 245;
+                                                              return 246;
                                                             }
                                                         }
                                                     }
@@ -14832,7 +15305,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011010xxx0x1xx011100xx
                                                              cnt.  */
-                                                          return 160;
+                                                          return 161;
                                                         }
                                                       else
                                                         {
@@ -14842,7 +15315,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx011010xxx0x10x011101xx
                                                                  not.  */
-                                                              return 235;
+                                                              return 236;
                                                             }
                                                           else
                                                             {
@@ -14850,7 +15323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx011010xxx0x11x011101xx
                                                                  rbit.  */
-                                                              return 237;
+                                                              return 238;
                                                             }
                                                         }
                                                     }
@@ -14860,7 +15333,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx011010xxx1x1xx01110xxx
                                                          aesd.  */
-                                                      return 663;
+                                                      return 666;
                                                     }
                                                 }
                                               else
@@ -14869,7 +15342,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx011010xxxxx1xx01111xxx
                                                      fmin.  */
-                                                  return 829;
+                                                  return 832;
                                                 }
                                             }
                                           else
@@ -14888,7 +15361,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110110xx001xx011100xx
                                                                      fcmeq.  */
-                                                                  return 189;
+                                                                  return 190;
                                                                 }
                                                               else
                                                                 {
@@ -14896,7 +15369,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110110xx001xx011101xx
                                                                      fcmle.  */
-                                                                  return 240;
+                                                                  return 241;
                                                                 }
                                                             }
                                                           else
@@ -14907,7 +15380,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110110xx001xx011110xx
                                                                      fcmeq.  */
-                                                                  return 488;
+                                                                  return 491;
                                                                 }
                                                               else
                                                                 {
@@ -14915,7 +15388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110110xx001xx011111xx
                                                                      fcmle.  */
-                                                                  return 518;
+                                                                  return 521;
                                                                 }
                                                             }
                                                         }
@@ -14927,7 +15400,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110110xx011xx0111x0xx
                                                                  faddp.  */
-                                                              return 532;
+                                                              return 535;
                                                             }
                                                           else
                                                             {
@@ -14935,7 +15408,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110110xx011xx0111x1xx
                                                                  faddp.  */
-                                                              return 531;
+                                                              return 534;
                                                             }
                                                         }
                                                     }
@@ -14949,7 +15422,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110110xx1x1xx011100xx
                                                                  fcmeq.  */
-                                                              return 190;
+                                                              return 191;
                                                             }
                                                           else
                                                             {
@@ -14957,7 +15430,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110110xx1x1xx011101xx
                                                                  fcmle.  */
-                                                              return 241;
+                                                              return 242;
                                                             }
                                                         }
                                                       else
@@ -14968,7 +15441,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110110xx1x1xx011110xx
                                                                  fcmeq.  */
-                                                              return 489;
+                                                              return 492;
                                                             }
                                                           else
                                                             {
@@ -14976,7 +15449,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0110110xx1x1xx011111xx
                                                                  fcmle.  */
-                                                              return 519;
+                                                              return 522;
                                                             }
                                                         }
                                                     }
@@ -14995,7 +15468,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110111xx0x1x0011100xx
                                                                      scvtf.  */
-                                                                  return 185;
+                                                                  return 186;
                                                                 }
                                                               else
                                                                 {
@@ -15003,7 +15476,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110111xx0x1x0011101xx
                                                                      ucvtf.  */
-                                                                  return 233;
+                                                                  return 234;
                                                                 }
                                                             }
                                                           else
@@ -15014,7 +15487,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110111xx0x1x0011110xx
                                                                      scvtf.  */
-                                                                  return 484;
+                                                                  return 487;
                                                                 }
                                                               else
                                                                 {
@@ -15022,7 +15495,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110111xx0x1x0011111xx
                                                                      ucvtf.  */
-                                                                  return 514;
+                                                                  return 517;
                                                                 }
                                                             }
                                                         }
@@ -15036,7 +15509,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110111xx0x1x1011100xx
                                                                      frecpe.  */
-                                                                  return 204;
+                                                                  return 205;
                                                                 }
                                                               else
                                                                 {
@@ -15044,7 +15517,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110111xx0x1x1011101xx
                                                                      frsqrte.  */
-                                                                  return 251;
+                                                                  return 252;
                                                                 }
                                                             }
                                                           else
@@ -15055,7 +15528,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110111xx0x1x1011110xx
                                                                      frecpe.  */
-                                                                  return 496;
+                                                                  return 499;
                                                                 }
                                                               else
                                                                 {
@@ -15063,7 +15536,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110111xx0x1x1011111xx
                                                                      frsqrte.  */
-                                                                  return 524;
+                                                                  return 527;
                                                                 }
                                                             }
                                                         }
@@ -15080,7 +15553,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110111xx1x1x0011100xx
                                                                      scvtf.  */
-                                                                  return 186;
+                                                                  return 187;
                                                                 }
                                                               else
                                                                 {
@@ -15088,7 +15561,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110111xx1x1x0011101xx
                                                                      ucvtf.  */
-                                                                  return 234;
+                                                                  return 235;
                                                                 }
                                                             }
                                                           else
@@ -15099,7 +15572,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110111xx1x1x0011110xx
                                                                      scvtf.  */
-                                                                  return 485;
+                                                                  return 488;
                                                                 }
                                                               else
                                                                 {
@@ -15107,7 +15580,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110111xx1x1x0011111xx
                                                                      ucvtf.  */
-                                                                  return 515;
+                                                                  return 518;
                                                                 }
                                                             }
                                                         }
@@ -15121,7 +15594,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110111xx1x1x1011100xx
                                                                      frecpe.  */
-                                                                  return 205;
+                                                                  return 206;
                                                                 }
                                                               else
                                                                 {
@@ -15129,7 +15602,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110111xx1x1x1011101xx
                                                                      frsqrte.  */
-                                                                  return 252;
+                                                                  return 253;
                                                                 }
                                                             }
                                                           else
@@ -15140,7 +15613,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110111xx1x1x1011110xx
                                                                      frecpe.  */
-                                                                  return 497;
+                                                                  return 500;
                                                                 }
                                                               else
                                                                 {
@@ -15148,7 +15621,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0110111xx1x1x1011111xx
                                                                      frsqrte.  */
-                                                                  return 525;
+                                                                  return 528;
                                                                 }
                                                             }
                                                         }
@@ -15175,7 +15648,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0111000xxx01xx011100xx
                                                                  suqadd.  */
-                                                              return 158;
+                                                              return 159;
                                                             }
                                                           else
                                                             {
@@ -15183,7 +15656,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0111000xxx01xx011101xx
                                                                  usqadd.  */
-                                                              return 208;
+                                                              return 209;
                                                             }
                                                         }
                                                       else
@@ -15214,7 +15687,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111001xxxx1xx01110x0x
                                                              shll.  */
-                                                          return 217;
+                                                          return 218;
                                                         }
                                                       else
                                                         {
@@ -15222,7 +15695,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111001xxxx1xx01110x1x
                                                              shll2.  */
-                                                          return 218;
+                                                          return 219;
                                                         }
                                                     }
                                                 }
@@ -15236,7 +15709,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011100xxxxx1xx0111100x
                                                              fsub.  */
-                                                          return 825;
+                                                          return 828;
                                                         }
                                                       else
                                                         {
@@ -15244,7 +15717,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011100xxxxx1xx0111101x
                                                              suqadd.  */
-                                                          return 471;
+                                                          return 474;
                                                         }
                                                     }
                                                   else
@@ -15253,7 +15726,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx011100xxxxx1xx011111xx
                                                          usqadd.  */
-                                                      return 500;
+                                                      return 503;
                                                     }
                                                 }
                                             }
@@ -15269,7 +15742,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111010xxxx1xx011100xx
                                                              abs.  */
-                                                          return 166;
+                                                          return 167;
                                                         }
                                                       else
                                                         {
@@ -15277,7 +15750,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111010xxxx1xx011101xx
                                                              neg.  */
-                                                          return 214;
+                                                          return 215;
                                                         }
                                                     }
                                                   else
@@ -15288,7 +15761,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111010xxxx1xx011110xx
                                                              abs.  */
-                                                          return 476;
+                                                          return 479;
                                                         }
                                                       else
                                                         {
@@ -15296,7 +15769,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111010xxxx1xx011111xx
                                                              neg.  */
-                                                          return 504;
+                                                          return 507;
                                                         }
                                                     }
                                                 }
@@ -15316,7 +15789,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0111011xx001x0011100xx
                                                                          fcvtms.  */
-                                                                      return 181;
+                                                                      return 182;
                                                                     }
                                                                   else
                                                                     {
@@ -15324,7 +15797,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0111011xx001x0011101xx
                                                                          fcvtmu.  */
-                                                                      return 229;
+                                                                      return 230;
                                                                     }
                                                                 }
                                                               else
@@ -15335,7 +15808,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0111011xx001x0011110xx
                                                                          fcvtms.  */
-                                                                      return 480;
+                                                                      return 483;
                                                                     }
                                                                   else
                                                                     {
@@ -15343,7 +15816,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0111011xx001x0011111xx
                                                                          fcvtmu.  */
-                                                                      return 510;
+                                                                      return 513;
                                                                     }
                                                                 }
                                                             }
@@ -15357,7 +15830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0111011xx001x1011100xx
                                                                          fcvtzs.  */
-                                                                      return 201;
+                                                                      return 202;
                                                                     }
                                                                   else
                                                                     {
@@ -15365,7 +15838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0111011xx001x1011101xx
                                                                          fcvtzu.  */
-                                                                      return 248;
+                                                                      return 249;
                                                                     }
                                                                 }
                                                               else
@@ -15376,7 +15849,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0111011xx001x1011110xx
                                                                          fcvtzs.  */
-                                                                      return 494;
+                                                                      return 497;
                                                                     }
                                                                   else
                                                                     {
@@ -15384,7 +15857,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0111011xx001x1011111xx
                                                                          fcvtzu.  */
-                                                                      return 522;
+                                                                      return 525;
                                                                     }
                                                                 }
                                                             }
@@ -15405,7 +15878,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0111011xx011xx01111xxx
                                                                  addp.  */
-                                                              return 528;
+                                                              return 531;
                                                             }
                                                         }
                                                     }
@@ -15421,7 +15894,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0111011xx1x1x0011100xx
                                                                      fcvtms.  */
-                                                                  return 182;
+                                                                  return 183;
                                                                 }
                                                               else
                                                                 {
@@ -15429,7 +15902,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0111011xx1x1x0011101xx
                                                                      fcvtmu.  */
-                                                                  return 230;
+                                                                  return 231;
                                                                 }
                                                             }
                                                           else
@@ -15440,7 +15913,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0111011xx1x1x0011110xx
                                                                      fcvtms.  */
-                                                                  return 481;
+                                                                  return 484;
                                                                 }
                                                               else
                                                                 {
@@ -15448,7 +15921,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0111011xx1x1x0011111xx
                                                                      fcvtmu.  */
-                                                                  return 511;
+                                                                  return 514;
                                                                 }
                                                             }
                                                         }
@@ -15462,7 +15935,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0111011xx1x1x1011100xx
                                                                      fcvtzs.  */
-                                                                  return 202;
+                                                                  return 203;
                                                                 }
                                                               else
                                                                 {
@@ -15470,7 +15943,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0111011xx1x1x1011101xx
                                                                      fcvtzu.  */
-                                                                  return 249;
+                                                                  return 250;
                                                                 }
                                                             }
                                                           else
@@ -15481,7 +15954,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0111011xx1x1x1011110xx
                                                                      fcvtzs.  */
-                                                                  return 495;
+                                                                  return 498;
                                                                 }
                                                               else
                                                                 {
@@ -15489,7 +15962,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0111011xx1x1x1011111xx
                                                                      fcvtzu.  */
-                                                                  return 523;
+                                                                  return 526;
                                                                 }
                                                             }
                                                         }
@@ -15513,7 +15986,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0111100xx0x1xx011100xx
                                                                  sqabs.  */
-                                                              return 162;
+                                                              return 163;
                                                             }
                                                           else
                                                             {
@@ -15521,7 +15994,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0111100xx0x1xx011101xx
                                                                  sqneg.  */
-                                                              return 211;
+                                                              return 212;
                                                             }
                                                         }
                                                       else
@@ -15530,7 +16003,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111100xx1x1xx01110xxx
                                                              aesimc.  */
-                                                          return 665;
+                                                          return 668;
                                                         }
                                                     }
                                                   else
@@ -15541,7 +16014,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111101xxxx1xx01110x0x
                                                              fcvtl.  */
-                                                          return 173;
+                                                          return 174;
                                                         }
                                                       else
                                                         {
@@ -15549,7 +16022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111101xxxx1xx01110x1x
                                                              fcvtl2.  */
-                                                          return 174;
+                                                          return 175;
                                                         }
                                                     }
                                                 }
@@ -15563,7 +16036,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011110xxxxx1xx0111100x
                                                              fminnm.  */
-                                                          return 833;
+                                                          return 836;
                                                         }
                                                       else
                                                         {
@@ -15571,7 +16044,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011110xxxxx1xx0111101x
                                                              sqabs.  */
-                                                          return 472;
+                                                          return 475;
                                                         }
                                                     }
                                                   else
@@ -15580,7 +16053,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx011110xxxxx1xx011111xx
                                                          sqneg.  */
-                                                      return 501;
+                                                      return 504;
                                                     }
                                                 }
                                             }
@@ -15598,7 +16071,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0111110xx001xx0111x0xx
                                                                  fabs.  */
-                                                              return 193;
+                                                              return 194;
                                                             }
                                                           else
                                                             {
@@ -15606,7 +16079,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0111110xx001xx0111x1xx
                                                                  fneg.  */
-                                                              return 242;
+                                                              return 243;
                                                             }
                                                         }
                                                       else
@@ -15640,7 +16113,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0111110xx011x0011110xx
                                                                          fmaxp.  */
-                                                                      return 534;
+                                                                      return 537;
                                                                     }
                                                                   else
                                                                     {
@@ -15648,7 +16121,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0111110xx011x0011111xx
                                                                          fmaxp.  */
-                                                                      return 533;
+                                                                      return 536;
                                                                     }
                                                                 }
                                                             }
@@ -15681,7 +16154,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0111110xx011x1011110xx
                                                                          fminp.  */
-                                                                      return 538;
+                                                                      return 541;
                                                                     }
                                                                   else
                                                                     {
@@ -15689,7 +16162,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx0111110xx011x1011111xx
                                                                          fminp.  */
-                                                                      return 537;
+                                                                      return 540;
                                                                     }
                                                                 }
                                                             }
@@ -15703,7 +16176,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111110xx1x1xx0111x0xx
                                                              fabs.  */
-                                                          return 194;
+                                                          return 195;
                                                         }
                                                       else
                                                         {
@@ -15711,7 +16184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111110xx1x1xx0111x1xx
                                                              fneg.  */
-                                                          return 243;
+                                                          return 244;
                                                         }
                                                     }
                                                 }
@@ -15725,7 +16198,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111111xx0x1xx01110xxx
                                                              fsqrt.  */
-                                                          return 253;
+                                                          return 254;
                                                         }
                                                       else
                                                         {
@@ -15733,7 +16206,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111111xx0x1xx01111xxx
                                                              frecpx.  */
-                                                          return 498;
+                                                          return 501;
                                                         }
                                                     }
                                                   else
@@ -15744,7 +16217,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111111xx1x1xx01110xxx
                                                              fsqrt.  */
-                                                          return 254;
+                                                          return 255;
                                                         }
                                                       else
                                                         {
@@ -15752,7 +16225,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111111xx1x1xx01111xxx
                                                              frecpx.  */
-                                                          return 499;
+                                                          return 502;
                                                         }
                                                     }
                                                 }
@@ -15782,7 +16255,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100000xxxxx1xx011100xx
                                                          shadd.  */
-                                                      return 261;
+                                                      return 262;
                                                     }
                                                   else
                                                     {
@@ -15790,7 +16263,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100000xxxxx1xx011101xx
                                                          uhadd.  */
-                                                      return 313;
+                                                      return 314;
                                                     }
                                                 }
                                               else
@@ -15801,7 +16274,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100001xxxxx1xx011100xx
                                                          add.  */
-                                                      return 276;
+                                                      return 277;
                                                     }
                                                   else
                                                     {
@@ -15809,7 +16282,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100001xxxxx1xx011101xx
                                                          sub.  */
-                                                      return 328;
+                                                      return 329;
                                                     }
                                                 }
                                             }
@@ -15823,7 +16296,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100010xxxxx1xx011100xx
                                                          sshl.  */
-                                                      return 268;
+                                                      return 269;
                                                     }
                                                   else
                                                     {
@@ -15831,7 +16304,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100010xxxxx1xx011101xx
                                                          ushl.  */
-                                                      return 320;
+                                                      return 321;
                                                     }
                                                 }
                                               else
@@ -15844,7 +16317,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100011xxxxx1x0011100xx
                                                              fmaxnm.  */
-                                                          return 284;
+                                                          return 285;
                                                         }
                                                       else
                                                         {
@@ -15852,7 +16325,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100011xxxxx1x0011101xx
                                                              fmaxnmp.  */
-                                                          return 335;
+                                                          return 336;
                                                         }
                                                     }
                                                   else
@@ -15863,7 +16336,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100011xxxxx1x1011100xx
                                                              fminnm.  */
-                                                          return 300;
+                                                          return 301;
                                                         }
                                                       else
                                                         {
@@ -15871,7 +16344,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100011xxxxx1x1011101xx
                                                              fminnmp.  */
-                                                          return 351;
+                                                          return 352;
                                                         }
                                                     }
                                                 }
@@ -15889,7 +16362,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100100xxxxx1xx011100xx
                                                          shsub.  */
-                                                      return 264;
+                                                      return 265;
                                                     }
                                                   else
                                                     {
@@ -15897,7 +16370,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100100xxxxx1xx011101xx
                                                          uhsub.  */
-                                                      return 316;
+                                                      return 317;
                                                     }
                                                 }
                                               else
@@ -15908,7 +16381,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100101xxxxx1xx011100xx
                                                          smaxp.  */
-                                                      return 280;
+                                                      return 281;
                                                     }
                                                   else
                                                     {
@@ -15916,7 +16389,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100101xxxxx1xx011101xx
                                                          umaxp.  */
-                                                      return 332;
+                                                      return 333;
                                                     }
                                                 }
                                             }
@@ -15930,7 +16403,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100110xxxxx1xx011100xx
                                                          smax.  */
-                                                      return 272;
+                                                      return 273;
                                                     }
                                                   else
                                                     {
@@ -15938,7 +16411,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100110xxxxx1xx011101xx
                                                          umax.  */
-                                                      return 324;
+                                                      return 325;
                                                     }
                                                 }
                                               else
@@ -15951,7 +16424,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100111xxxxx1x0011100xx
                                                              fcmeq.  */
-                                                          return 292;
+                                                          return 293;
                                                         }
                                                       else
                                                         {
@@ -15959,7 +16432,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100111xxxxx1x0011101xx
                                                              fcmge.  */
-                                                          return 341;
+                                                          return 342;
                                                         }
                                                     }
                                                   else
@@ -15968,7 +16441,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100111xxxxx1x101110xxx
                                                          fcmgt.  */
-                                                      return 355;
+                                                      return 356;
                                                     }
                                                 }
                                             }
@@ -15988,7 +16461,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101000xxxxx1xx011100xx
                                                          srhadd.  */
-                                                      return 263;
+                                                      return 264;
                                                     }
                                                   else
                                                     {
@@ -15996,7 +16469,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101000xxxxx1xx011101xx
                                                          urhadd.  */
-                                                      return 315;
+                                                      return 316;
                                                     }
                                                 }
                                               else
@@ -16007,7 +16480,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101001xxxxx1xx011100xx
                                                          mla.  */
-                                                      return 278;
+                                                      return 279;
                                                     }
                                                   else
                                                     {
@@ -16015,7 +16488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101001xxxxx1xx011101xx
                                                          mls.  */
-                                                      return 330;
+                                                      return 331;
                                                     }
                                                 }
                                             }
@@ -16029,7 +16502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101010xxxxx1xx011100xx
                                                          srshl.  */
-                                                      return 270;
+                                                      return 271;
                                                     }
                                                   else
                                                     {
@@ -16037,7 +16510,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101010xxxxx1xx011101xx
                                                          urshl.  */
-                                                      return 322;
+                                                      return 323;
                                                     }
                                                 }
                                               else
@@ -16050,7 +16523,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101011xxxxx1x0011100xx
                                                              fadd.  */
-                                                          return 288;
+                                                          return 289;
                                                         }
                                                       else
                                                         {
@@ -16058,7 +16531,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101011xxxxx1x0011101xx
                                                              faddp.  */
-                                                          return 337;
+                                                          return 338;
                                                         }
                                                     }
                                                   else
@@ -16069,7 +16542,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101011xxxxx1x1011100xx
                                                              fsub.  */
-                                                          return 304;
+                                                          return 305;
                                                         }
                                                       else
                                                         {
@@ -16077,7 +16550,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101011xxxxx1x1011101xx
                                                              fabd.  */
-                                                          return 353;
+                                                          return 354;
                                                         }
                                                     }
                                                 }
@@ -16095,7 +16568,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101100xxxxx1xx011100xx
                                                          cmgt.  */
-                                                      return 266;
+                                                      return 267;
                                                     }
                                                   else
                                                     {
@@ -16103,7 +16576,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101100xxxxx1xx011101xx
                                                          cmhi.  */
-                                                      return 318;
+                                                      return 319;
                                                     }
                                                 }
                                               else
@@ -16114,7 +16587,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101101xxxxx1xx011100xx
                                                          sqdmulh.  */
-                                                      return 282;
+                                                      return 283;
                                                     }
                                                   else
                                                     {
@@ -16122,7 +16595,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101101xxxxx1xx011101xx
                                                          sqrdmulh.  */
-                                                      return 334;
+                                                      return 335;
                                                     }
                                                 }
                                             }
@@ -16136,7 +16609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101110xxxxx1xx011100xx
                                                          sabd.  */
-                                                      return 274;
+                                                      return 275;
                                                     }
                                                   else
                                                     {
@@ -16144,7 +16617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101110xxxxx1xx011101xx
                                                          uabd.  */
-                                                      return 326;
+                                                      return 327;
                                                     }
                                                 }
                                               else
@@ -16157,7 +16630,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101111xxxxx1x0011100xx
                                                              fmax.  */
-                                                          return 294;
+                                                          return 295;
                                                         }
                                                       else
                                                         {
@@ -16165,7 +16638,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101111xxxxx1x0011101xx
                                                              fmaxp.  */
-                                                          return 345;
+                                                          return 346;
                                                         }
                                                     }
                                                   else
@@ -16176,7 +16649,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101111xxxxx1x1011100xx
                                                              fmin.  */
-                                                          return 306;
+                                                          return 307;
                                                         }
                                                       else
                                                         {
@@ -16184,7 +16657,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101111xxxxx1x1011101xx
                                                              fminp.  */
-                                                          return 359;
+                                                          return 360;
                                                         }
                                                     }
                                                 }
@@ -16204,7 +16677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx0xxxxx10xxxxxxxxx1xx0111100x
                                                  fccmp.  */
-                                              return 784;
+                                              return 787;
                                             }
                                           else
                                             {
@@ -16212,7 +16685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx1xxxxx10xxxxxxxxx1xx0111100x
                                                  fccmpe.  */
-                                              return 786;
+                                              return 789;
                                             }
                                         }
                                       else
@@ -16227,7 +16700,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx10000xxxxxx1xx0111101x
                                                          add.  */
-                                                      return 556;
+                                                      return 559;
                                                     }
                                                   else
                                                     {
@@ -16235,7 +16708,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx10001xxxxxx1xx0111101x
                                                          sshl.  */
-                                                      return 554;
+                                                      return 557;
                                                     }
                                                 }
                                               else
@@ -16244,7 +16717,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1001xxxxxxx1xx0111101x
                                                      fcmeq.  */
-                                                  return 546;
+                                                  return 549;
                                                 }
                                             }
                                           else
@@ -16255,7 +16728,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1010xxxxxxx1xx0111101x
                                                      srshl.  */
-                                                  return 555;
+                                                  return 558;
                                                 }
                                               else
                                                 {
@@ -16265,7 +16738,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1011x0xxxxx1xx0111101x
                                                          cmgt.  */
-                                                      return 552;
+                                                      return 555;
                                                     }
                                                   else
                                                     {
@@ -16273,7 +16746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1011x1xxxxx1xx0111101x
                                                          sqdmulh.  */
-                                                      return 543;
+                                                      return 546;
                                                     }
                                                 }
                                             }
@@ -16291,7 +16764,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx10000xxxxxx1xx011111xx
                                                      sub.  */
-                                                  return 577;
+                                                  return 580;
                                                 }
                                               else
                                                 {
@@ -16299,7 +16772,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx10001xxxxxx1xx011111xx
                                                      ushl.  */
-                                                  return 575;
+                                                  return 578;
                                                 }
                                             }
                                           else
@@ -16310,7 +16783,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1001xxxxxxx1x0011111xx
                                                      fcmge.  */
-                                                  return 563;
+                                                  return 566;
                                                 }
                                               else
                                                 {
@@ -16318,7 +16791,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1001xxxxxxx1x1011111xx
                                                      fcmgt.  */
-                                                  return 569;
+                                                  return 572;
                                                 }
                                             }
                                         }
@@ -16332,7 +16805,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1010x0xxxxx1xx011111xx
                                                      urshl.  */
-                                                  return 576;
+                                                  return 579;
                                                 }
                                               else
                                                 {
@@ -16340,7 +16813,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1010x1xxxxx1xx011111xx
                                                      fabd.  */
-                                                  return 567;
+                                                  return 570;
                                                 }
                                             }
                                           else
@@ -16351,7 +16824,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1011x0xxxxx1xx011111xx
                                                      cmhi.  */
-                                                  return 573;
+                                                  return 576;
                                                 }
                                               else
                                                 {
@@ -16359,7 +16832,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1011x1xxxxx1xx011111xx
                                                      sqrdmulh.  */
-                                                  return 562;
+                                                  return 565;
                                                 }
                                             }
                                         }
@@ -16384,7 +16857,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110000xxxxx1xx011100xx
                                                          sqadd.  */
-                                                      return 262;
+                                                      return 263;
                                                     }
                                                   else
                                                     {
@@ -16392,7 +16865,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110000xxxxx1xx011101xx
                                                          uqadd.  */
-                                                      return 314;
+                                                      return 315;
                                                     }
                                                 }
                                               else
@@ -16403,7 +16876,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110001xxxxx1xx011100xx
                                                          cmtst.  */
-                                                      return 277;
+                                                      return 278;
                                                     }
                                                   else
                                                     {
@@ -16411,7 +16884,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110001xxxxx1xx011101xx
                                                          cmeq.  */
-                                                      return 329;
+                                                      return 330;
                                                     }
                                                 }
                                             }
@@ -16425,7 +16898,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110010xxxxx1xx011100xx
                                                          sqshl.  */
-                                                      return 269;
+                                                      return 270;
                                                     }
                                                   else
                                                     {
@@ -16433,7 +16906,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110010xxxxx1xx011101xx
                                                          uqshl.  */
-                                                      return 321;
+                                                      return 322;
                                                     }
                                                 }
                                               else
@@ -16444,7 +16917,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110011xxxxx1x001110xxx
                                                          fmla.  */
-                                                      return 286;
+                                                      return 287;
                                                     }
                                                   else
                                                     {
@@ -16452,7 +16925,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110011xxxxx1x101110xxx
                                                          fmls.  */
-                                                      return 302;
+                                                      return 303;
                                                     }
                                                 }
                                             }
@@ -16469,7 +16942,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110100xxxxx1xx011100xx
                                                          sqsub.  */
-                                                      return 265;
+                                                      return 266;
                                                     }
                                                   else
                                                     {
@@ -16477,7 +16950,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110100xxxxx1xx011101xx
                                                          uqsub.  */
-                                                      return 317;
+                                                      return 318;
                                                     }
                                                 }
                                               else
@@ -16488,7 +16961,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110101xxxxx1xx011100xx
                                                          sminp.  */
-                                                      return 281;
+                                                      return 282;
                                                     }
                                                   else
                                                     {
@@ -16496,7 +16969,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110101xxxxx1xx011101xx
                                                          uminp.  */
-                                                      return 333;
+                                                      return 334;
                                                     }
                                                 }
                                             }
@@ -16510,7 +16983,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110110xxxxx1xx011100xx
                                                          smin.  */
-                                                      return 273;
+                                                      return 274;
                                                     }
                                                   else
                                                     {
@@ -16518,7 +16991,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110110xxxxx1xx011101xx
                                                          umin.  */
-                                                      return 325;
+                                                      return 326;
                                                     }
                                                 }
                                               else
@@ -16529,7 +17002,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110111xxxxx1x001110xxx
                                                          facge.  */
-                                                      return 343;
+                                                      return 344;
                                                     }
                                                   else
                                                     {
@@ -16537,7 +17010,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110111xxxxx1x101110xxx
                                                          facgt.  */
-                                                      return 357;
+                                                      return 358;
                                                     }
                                                 }
                                             }
@@ -16561,7 +17034,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx111000xxxxx100011100xx
                                                                  and.  */
-                                                              return 298;
+                                                              return 299;
                                                             }
                                                           else
                                                             {
@@ -16569,7 +17042,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx111000xxxxx100011101xx
                                                                  eor.  */
-                                                              return 349;
+                                                              return 350;
                                                             }
                                                         }
                                                       else
@@ -16580,7 +17053,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx111000xxxxx101011100xx
                                                                  orr.  */
-                                                              return 310;
+                                                              return 311;
                                                             }
                                                           else
                                                             {
@@ -16588,7 +17061,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx111000xxxxx101011101xx
                                                                  bit.  */
-                                                              return 361;
+                                                              return 362;
                                                             }
                                                         }
                                                     }
@@ -16602,7 +17075,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx111000xxxxx110011100xx
                                                                  bic.  */
-                                                              return 299;
+                                                              return 300;
                                                             }
                                                           else
                                                             {
@@ -16610,7 +17083,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx111000xxxxx110011101xx
                                                                  bsl.  */
-                                                              return 350;
+                                                              return 351;
                                                             }
                                                         }
                                                       else
@@ -16621,7 +17094,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx111000xxxxx111011100xx
                                                                  orn.  */
-                                                              return 312;
+                                                              return 313;
                                                             }
                                                           else
                                                             {
@@ -16629,7 +17102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx111000xxxxx111011101xx
                                                                  bif.  */
-                                                              return 362;
+                                                              return 363;
                                                             }
                                                         }
                                                     }
@@ -16642,7 +17115,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111001xxxxx1xx011100xx
                                                          mul.  */
-                                                      return 279;
+                                                      return 280;
                                                     }
                                                   else
                                                     {
@@ -16650,7 +17123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111001xxxxx1xx011101xx
                                                          pmul.  */
-                                                      return 331;
+                                                      return 332;
                                                     }
                                                 }
                                             }
@@ -16664,7 +17137,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111010xxxxx1xx011100xx
                                                          sqrshl.  */
-                                                      return 271;
+                                                      return 272;
                                                     }
                                                   else
                                                     {
@@ -16672,7 +17145,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111010xxxxx1xx011101xx
                                                          uqrshl.  */
-                                                      return 323;
+                                                      return 324;
                                                     }
                                                 }
                                               else
@@ -16683,7 +17156,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111011xxxxx1xx011100xx
                                                          fmulx.  */
-                                                      return 290;
+                                                      return 291;
                                                     }
                                                   else
                                                     {
@@ -16691,7 +17164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111011xxxxx1xx011101xx
                                                          fmul.  */
-                                                      return 339;
+                                                      return 340;
                                                     }
                                                 }
                                             }
@@ -16708,7 +17181,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111100xxxxx1xx011100xx
                                                          cmge.  */
-                                                      return 267;
+                                                      return 268;
                                                     }
                                                   else
                                                     {
@@ -16716,7 +17189,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111100xxxxx1xx011101xx
                                                          cmhs.  */
-                                                      return 319;
+                                                      return 320;
                                                     }
                                                 }
                                               else
@@ -16725,7 +17198,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx111101xxxxx1xx01110xxx
                                                      addp.  */
-                                                  return 283;
+                                                  return 284;
                                                 }
                                             }
                                           else
@@ -16738,7 +17211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111110xxxxx1xx011100xx
                                                          saba.  */
-                                                      return 275;
+                                                      return 276;
                                                     }
                                                   else
                                                     {
@@ -16746,7 +17219,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111110xxxxx1xx011101xx
                                                          uaba.  */
-                                                      return 327;
+                                                      return 328;
                                                     }
                                                 }
                                               else
@@ -16759,7 +17232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx111111xxxxx1x0011100xx
                                                              frecps.  */
-                                                          return 296;
+                                                          return 297;
                                                         }
                                                       else
                                                         {
@@ -16767,7 +17240,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx111111xxxxx1x0011101xx
                                                              fdiv.  */
-                                                          return 347;
+                                                          return 348;
                                                         }
                                                     }
                                                   else
@@ -16776,7 +17249,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111111xxxxx1x101110xxx
                                                          frsqrts.  */
-                                                      return 308;
+                                                      return 309;
                                                     }
                                                 }
                                             }
@@ -16793,7 +17266,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx11xxxxxxxxx1xx0111100x
                                              fcsel.  */
-                                          return 847;
+                                          return 850;
                                         }
                                       else
                                         {
@@ -16809,7 +17282,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx110000xxxxx1xx0111101x
                                                              sqadd.  */
-                                                          return 539;
+                                                          return 542;
                                                         }
                                                       else
                                                         {
@@ -16817,7 +17290,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx110001xxxxx1xx0111101x
                                                              cmtst.  */
-                                                          return 557;
+                                                          return 560;
                                                         }
                                                     }
                                                   else
@@ -16826,7 +17299,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11001xxxxxx1xx0111101x
                                                          sqshl.  */
-                                                      return 541;
+                                                      return 544;
                                                     }
                                                 }
                                               else
@@ -16835,7 +17308,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1101xxxxxxx1xx0111101x
                                                      sqsub.  */
-                                                  return 540;
+                                                  return 543;
                                                 }
                                             }
                                           else
@@ -16848,7 +17321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1110x0xxxxx1xx0111101x
                                                          sqrshl.  */
-                                                      return 542;
+                                                      return 545;
                                                     }
                                                   else
                                                     {
@@ -16856,7 +17329,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1110x1xxxxx1xx0111101x
                                                          fmulx.  */
-                                                      return 544;
+                                                      return 547;
                                                     }
                                                 }
                                               else
@@ -16867,7 +17340,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11110xxxxxx1xx0111101x
                                                          cmge.  */
-                                                      return 553;
+                                                      return 556;
                                                     }
                                                   else
                                                     {
@@ -16877,7 +17350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx11111xxxxxx1x00111101x
                                                              frecps.  */
-                                                          return 548;
+                                                          return 551;
                                                         }
                                                       else
                                                         {
@@ -16885,7 +17358,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx11111xxxxxx1x10111101x
                                                              frsqrts.  */
-                                                          return 550;
+                                                          return 553;
                                                         }
                                                     }
                                                 }
@@ -16906,7 +17379,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110000xxxxx1xx011111xx
                                                          uqadd.  */
-                                                      return 558;
+                                                      return 561;
                                                     }
                                                   else
                                                     {
@@ -16914,7 +17387,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110001xxxxx1xx011111xx
                                                          cmeq.  */
-                                                      return 578;
+                                                      return 581;
                                                     }
                                                 }
                                               else
@@ -16923,7 +17396,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx11001xxxxxx1xx011111xx
                                                      uqshl.  */
-                                                  return 560;
+                                                  return 563;
                                                 }
                                             }
                                           else
@@ -16934,7 +17407,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx11010xxxxxx1xx011111xx
                                                      uqsub.  */
-                                                  return 559;
+                                                  return 562;
                                                 }
                                               else
                                                 {
@@ -16944,7 +17417,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11011xxxxxx1x0011111xx
                                                          facge.  */
-                                                      return 565;
+                                                      return 568;
                                                     }
                                                   else
                                                     {
@@ -16952,7 +17425,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11011xxxxxx1x1011111xx
                                                          facgt.  */
-                                                      return 571;
+                                                      return 574;
                                                     }
                                                 }
                                             }
@@ -16965,7 +17438,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1110xxxxxxx1xx011111xx
                                                  uqrshl.  */
-                                              return 561;
+                                              return 564;
                                             }
                                           else
                                             {
@@ -16973,7 +17446,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1111xxxxxxx1xx011111xx
                                                  cmhs.  */
-                                              return 574;
+                                              return 577;
                                             }
                                         }
                                     }
@@ -17036,43 +17509,131 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             }
                                           else
                                             {
-                                              if (((word >> 30) & 0x1) == 0)
+                                              if (((word >> 30) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x0100xxxxxxxx1111010x
+                                                     umlal.  */
+                                                  return 118;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x0100xxxxxxxx1111011x
+                                                     umlal2.  */
+                                                  return 119;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 29) & 0x1) == 0)
+                                            {
+                                              if (((word >> 30) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x0110xxxxxxxx1111000x
+                                                     smlsl.  */
+                                                  return 100;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x0110xxxxxxxx1111001x
+                                                     smlsl2.  */
+                                                  return 101;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 30) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x0110xxxxxxxx1111010x
+                                                     umlsl.  */
+                                                  return 121;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x0110xxxxxxxx1111011x
+                                                     umlsl2.  */
+                                                  return 122;
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                              else
+                                {
+                                  if (((word >> 29) & 0x1) == 0)
+                                    {
+                                      if (((word >> 13) & 0x1) == 0)
+                                        {
+                                          if (((word >> 14) & 0x1) == 0)
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x1000xxxxxxx0111100xx
+                                                     fmla.  */
+                                                  return 112;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x1000xxxxxxx1111100xx
+                                                     fmla.  */
+                                                  return 111;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x0100xxxxxxxx1111010x
-                                                     umlal.  */
-                                                  return 118;
+                                                     xxxxxxxxxx0x1010xxxxxxx0111100xx
+                                                     fmls.  */
+                                                  return 114;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x0100xxxxxxxx1111011x
-                                                     umlal2.  */
-                                                  return 119;
+                                                     xxxxxxxxxx0x1010xxxxxxx1111100xx
+                                                     fmls.  */
+                                                  return 113;
                                                 }
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 29) & 0x1) == 0)
+                                          if (((word >> 14) & 0x1) == 0)
                                             {
                                               if (((word >> 30) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x0110xxxxxxxx1111000x
-                                                     smlsl.  */
-                                                  return 100;
+                                                     xxxxxxxxxx0x1100xxxxxxxx1111000x
+                                                     sqdmlal.  */
+                                                  return 98;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x0110xxxxxxxx1111001x
-                                                     smlsl2.  */
-                                                  return 101;
+                                                     xxxxxxxxxx0x1100xxxxxxxx1111001x
+                                                     sqdmlal2.  */
+                                                  return 99;
                                                 }
                                             }
                                           else
@@ -17081,105 +17642,28 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x0110xxxxxxxx1111010x
-                                                     umlsl.  */
-                                                  return 121;
+                                                     xxxxxxxxxx0x1110xxxxxxxx1111000x
+                                                     sqdmlsl.  */
+                                                  return 102;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x0110xxxxxxxx1111011x
-                                                     umlsl2.  */
-                                                  return 122;
+                                                     xxxxxxxxxx0x1110xxxxxxxx1111001x
+                                                     sqdmlsl2.  */
+                                                  return 103;
                                                 }
                                             }
                                         }
                                     }
-                                }
-                              else
-                                {
-                                  if (((word >> 13) & 0x1) == 0)
-                                    {
-                                      if (((word >> 14) & 0x1) == 0)
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x1000xxxxxxx011110xxx
-                                                 fmla.  */
-                                              return 112;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x1000xxxxxxx111110xxx
-                                                 fmla.  */
-                                              return 111;
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x1010xxxxxxx011110xxx
-                                                 fmls.  */
-                                              return 114;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x1010xxxxxxx111110xxx
-                                                 fmls.  */
-                                              return 113;
-                                            }
-                                        }
-                                    }
                                   else
                                     {
-                                      if (((word >> 14) & 0x1) == 0)
-                                        {
-                                          if (((word >> 30) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x1100xxxxxxxx11110x0x
-                                                 sqdmlal.  */
-                                              return 98;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x1100xxxxxxxx11110x1x
-                                                 sqdmlal2.  */
-                                              return 99;
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 30) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x1110xxxxxxxx11110x0x
-                                                 sqdmlsl.  */
-                                              return 102;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x1110xxxxxxxx11110x1x
-                                                 sqdmlsl2.  */
-                                              return 103;
-                                            }
-                                        }
+                                      /* 33222222222211111111110000000000
+                                         10987654321098765432109876543210
+                                         xxxxxxxxxx0x1xx0xxxxxxxx111101xx
+                                         fcmla.  */
+                                      return 129;
                                     }
                                 }
                             }
@@ -17193,7 +17677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx1x0xx0xxxxxxxx111100xx
                                          movi.  */
-                                      return 130;
+                                      return 131;
                                     }
                                   else
                                     {
@@ -17201,7 +17685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx1x0xx0xxxxxxxx111101xx
                                          mvni.  */
-                                      return 138;
+                                      return 139;
                                     }
                                 }
                               else
@@ -17212,7 +17696,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx1x1xx0xxxxxxxx111100xx
                                          orr.  */
-                                      return 131;
+                                      return 132;
                                     }
                                   else
                                     {
@@ -17220,7 +17704,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx1x1xx0xxxxxxxx111101xx
                                          bic.  */
-                                      return 139;
+                                      return 140;
                                     }
                                 }
                             }
@@ -17237,7 +17721,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx0xxxxx0xx1111100x
                                          fmadd.  */
-                                      return 837;
+                                      return 840;
                                     }
                                   else
                                     {
@@ -17245,7 +17729,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx0xxxxx1xx1111100x
                                          fnmadd.  */
-                                      return 841;
+                                      return 844;
                                     }
                                 }
                               else
@@ -17262,7 +17746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0xx000xxxxxxx01111101x
                                                      fmla.  */
-                                                  return 422;
+                                                  return 425;
                                                 }
                                               else
                                                 {
@@ -17270,7 +17754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0xx000xxxxxxx11111101x
                                                      fmla.  */
-                                                  return 421;
+                                                  return 424;
                                                 }
                                             }
                                           else
@@ -17281,7 +17765,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0xx010xxxxxxx01111101x
                                                      fmls.  */
-                                                  return 424;
+                                                  return 427;
                                                 }
                                               else
                                                 {
@@ -17289,7 +17773,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0xx010xxxxxxx11111101x
                                                      fmls.  */
-                                                  return 423;
+                                                  return 426;
                                                 }
                                             }
                                         }
@@ -17301,7 +17785,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0xx100xxxxxxxx1111101x
                                                  sqdmlal.  */
-                                              return 416;
+                                              return 419;
                                             }
                                           else
                                             {
@@ -17309,7 +17793,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0xx110xxxxxxxx1111101x
                                                  sqdmlsl.  */
-                                              return 417;
+                                              return 420;
                                             }
                                         }
                                     }
@@ -17323,7 +17807,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1x00x0xxxxxxxx1111101x
                                                  sshr.  */
-                                              return 581;
+                                              return 584;
                                             }
                                           else
                                             {
@@ -17331,7 +17815,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1x01x0xxxxxxxx1111101x
                                                  srshr.  */
-                                              return 583;
+                                              return 586;
                                             }
                                         }
                                       else
@@ -17344,7 +17828,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1x1000xxxxxxxx1111101x
                                                      ssra.  */
-                                                  return 582;
+                                                  return 585;
                                                 }
                                               else
                                                 {
@@ -17352,7 +17836,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1x1010xxxxxxxx1111101x
                                                      shl.  */
-                                                  return 585;
+                                                  return 588;
                                                 }
                                             }
                                           else
@@ -17363,7 +17847,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1x1100xxxxxxxx1111101x
                                                      srsra.  */
-                                                  return 584;
+                                                  return 587;
                                                 }
                                               else
                                                 {
@@ -17371,7 +17855,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1x1110xxxxxxxx1111101x
                                                      sqshl.  */
-                                                  return 586;
+                                                  return 589;
                                                 }
                                             }
                                         }
@@ -17390,7 +17874,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx0000xxxxxxxx111111xx
                                              ushr.  */
-                                          return 593;
+                                          return 596;
                                         }
                                       else
                                         {
@@ -17398,7 +17882,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx0010xxxxxxxx111111xx
                                              sri.  */
-                                          return 597;
+                                          return 600;
                                         }
                                     }
                                   else
@@ -17409,7 +17893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx0100xxxxxxxx111111xx
                                              urshr.  */
-                                          return 595;
+                                          return 598;
                                         }
                                       else
                                         {
@@ -17417,7 +17901,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx0110xxxxxxxx111111xx
                                              sqshlu.  */
-                                          return 599;
+                                          return 602;
                                         }
                                     }
                                 }
@@ -17431,7 +17915,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx1000xxxxxxxx111111xx
                                              usra.  */
-                                          return 594;
+                                          return 597;
                                         }
                                       else
                                         {
@@ -17439,7 +17923,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx1010xxxxxxxx111111xx
                                              sli.  */
-                                          return 598;
+                                          return 601;
                                         }
                                     }
                                   else
@@ -17450,7 +17934,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx1100xxxxxxxx111111xx
                                              ursra.  */
-                                          return 596;
+                                          return 599;
                                         }
                                       else
                                         {
@@ -17458,7 +17942,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx1110xxxxxxxx111111xx
                                              uqshl.  */
-                                          return 600;
+                                          return 603;
                                         }
                                     }
                                 }
@@ -17469,13 +17953,13 @@ aarch64_opcode_lookup_1 (uint32_t word)
                     {
                       if (((word >> 28) & 0x1) == 0)
                         {
-                          if (((word >> 10) & 0x1) == 0)
+                          if (((word >> 14) & 0x1) == 0)
                             {
-                              if (((word >> 12) & 0x1) == 0)
+                              if (((word >> 10) & 0x1) == 0)
                                 {
-                                  if (((word >> 13) & 0x1) == 0)
+                                  if (((word >> 12) & 0x1) == 0)
                                     {
-                                      if (((word >> 14) & 0x1) == 0)
+                                      if (((word >> 13) & 0x1) == 0)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
@@ -17485,60 +17969,49 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         }
                                       else
                                         {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxxxxxxxx0x0011xxxxxxxx11110xxx
-                                             sqdmulh.  */
-                                          return 109;
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 29) & 0x1) == 0)
-                                        {
-                                          if (((word >> 30) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x01x1xxxxxxxx1111000x
-                                                 smull.  */
-                                              return 105;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x01x1xxxxxxxx1111001x
-                                                 smull2.  */
-                                              return 106;
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 30) & 0x1) == 0)
+                                          if (((word >> 29) & 0x1) == 0)
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x01x1xxxxxxxx1111010x
-                                                 umull.  */
-                                              return 123;
+                                              if (((word >> 30) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x0101xxxxxxxx1111000x
+                                                     smull.  */
+                                                  return 105;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x0101xxxxxxxx1111001x
+                                                     smull2.  */
+                                                  return 106;
+                                                }
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x01x1xxxxxxxx1111011x
-                                                 umull2.  */
-                                              return 124;
+                                              if (((word >> 30) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x0101xxxxxxxx1111010x
+                                                     umull.  */
+                                                  return 123;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x0101xxxxxxxx1111011x
+                                                     umull2.  */
+                                                  return 124;
+                                                }
                                             }
                                         }
                                     }
-                                }
-                              else
-                                {
-                                  if (((word >> 13) & 0x1) == 0)
+                                  else
                                     {
-                                      if (((word >> 14) & 0x1) == 0)
+                                      if (((word >> 13) & 0x1) == 0)
                                         {
                                           if (((word >> 23) & 0x1) == 0)
                                             {
@@ -17580,28 +18053,6 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             }
                                         }
                                       else
-                                        {
-                                          if (((word >> 29) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x1011xxxxxxxx111100xx
-                                                 sqrdmulh.  */
-                                              return 110;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x1011xxxxxxxx111101xx
-                                                 sqrdmlah.  */
-                                              return 127;
-                                            }
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 14) & 0x1) == 0)
                                         {
                                           if (((word >> 30) & 0x1) == 0)
                                             {
@@ -17620,22 +18071,11 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                               return 108;
                                             }
                                         }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxxxxxxxx0x1111xxxxxxxx11110xxx
-                                             sqrdmlsh.  */
-                                          return 128;
-                                        }
                                     }
                                 }
-                            }
-                          else
-                            {
-                              if (((word >> 11) & 0x1) == 0)
+                              else
                                 {
-                                  if (((word >> 14) & 0x1) == 0)
+                                  if (((word >> 11) & 0x1) == 0)
                                     {
                                       if (((word >> 12) & 0x1) == 0)
                                         {
@@ -17645,7 +18085,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx100x01xxxxxxxx111100xx
                                                  movi.  */
-                                              return 132;
+                                              return 133;
                                             }
                                           else
                                             {
@@ -17653,7 +18093,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx100x01xxxxxxxx111101xx
                                                  mvni.  */
-                                              return 140;
+                                              return 141;
                                             }
                                         }
                                       else
@@ -17664,7 +18104,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx101x01xxxxxxxx111100xx
                                                  orr.  */
-                                              return 133;
+                                              return 134;
                                             }
                                           else
                                             {
@@ -17672,179 +18112,223 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx101x01xxxxxxxx111101xx
                                                  bic.  */
-                                              return 141;
+                                              return 142;
                                             }
                                         }
                                     }
                                   else
                                     {
-                                      if (((word >> 13) & 0x1) == 0)
+                                      if (((word >> 12) & 0x1) == 0)
                                         {
                                           if (((word >> 29) & 0x1) == 0)
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx10x011xxxxxxxx111100xx
-                                                 movi.  */
-                                              return 134;
+                                              if (((word >> 30) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx110x01xxxxxxxx1111000x
+                                                     rshrn.  */
+                                                  return 376;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx110x01xxxxxxxx1111001x
+                                                     rshrn2.  */
+                                                  return 377;
+                                                }
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx10x011xxxxxxxx111101xx
-                                                 mvni.  */
-                                              return 142;
+                                              if (((word >> 30) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx110x01xxxxxxxx1111010x
+                                                     sqrshrun.  */
+                                                  return 400;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx110x01xxxxxxxx1111011x
+                                                     sqrshrun2.  */
+                                                  return 401;
+                                                }
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 12) & 0x1) == 0)
+                                          if (((word >> 29) & 0x1) == 0)
                                             {
-                                              if (((word >> 29) & 0x1) == 0)
+                                              if (((word >> 30) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx100111xxxxxxxx111100xx
-                                                     movi.  */
-                                                  return 135;
+                                                     xxxxxxxxxx111x01xxxxxxxx1111000x
+                                                     sqrshrn.  */
+                                                  return 380;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx100111xxxxxxxx111101xx
-                                                     movi.  */
-                                                  return 143;
+                                                     xxxxxxxxxx111x01xxxxxxxx1111001x
+                                                     sqrshrn2.  */
+                                                  return 381;
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 29) & 0x1) == 0)
+                                              if (((word >> 30) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx101111xxxxxxxx111100xx
-                                                     fmov.  */
-                                                  return 136;
+                                                     xxxxxxxxxx111x01xxxxxxxx1111010x
+                                                     uqrshrn.  */
+                                                  return 404;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx101111xxxxxxxx111101xx
-                                                     fmov.  */
-                                                  return 145;
+                                                     xxxxxxxxxx111x01xxxxxxxx1111011x
+                                                     uqrshrn2.  */
+                                                  return 405;
                                                 }
                                             }
                                         }
                                     }
                                 }
-                              else
+                            }
+                          else
+                            {
+                              if (((word >> 13) & 0x1) == 0)
                                 {
-                                  if (((word >> 12) & 0x1) == 0)
+                                  if (((word >> 10) & 0x1) == 0)
                                     {
-                                      if (((word >> 29) & 0x1) == 0)
+                                      if (((word >> 12) & 0x1) == 0)
                                         {
-                                          if (((word >> 30) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx110xx1xxxxxxxx1111000x
-                                                 rshrn.  */
-                                              return 373;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx110xx1xxxxxxxx1111001x
-                                                 rshrn2.  */
-                                              return 374;
-                                            }
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxx0x0011xxxxxxxx11110xxx
+                                             sqdmulh.  */
+                                          return 109;
                                         }
                                       else
                                         {
-                                          if (((word >> 30) & 0x1) == 0)
+                                          if (((word >> 29) & 0x1) == 0)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx110xx1xxxxxxxx1111010x
-                                                 sqrshrun.  */
-                                              return 397;
+                                                 xxxxxxxxxx0x1011xxxxxxxx111100xx
+                                                 sqrdmulh.  */
+                                              return 110;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx110xx1xxxxxxxx1111011x
-                                                 sqrshrun2.  */
-                                              return 398;
+                                                 xxxxxxxxxx0x1011xxxxxxxx111101xx
+                                                 sqrdmlah.  */
+                                              return 127;
                                             }
                                         }
                                     }
                                   else
                                     {
-                                      if (((word >> 13) & 0x1) == 0)
+                                      if (((word >> 29) & 0x1) == 0)
                                         {
-                                          if (((word >> 29) & 0x1) == 0)
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxx1xx011xxxxxxxx111100xx
+                                             movi.  */
+                                          return 135;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxx1xx011xxxxxxxx111101xx
+                                             mvni.  */
+                                          return 143;
+                                        }
+                                    }
+                                }
+                              else
+                                {
+                                  if (((word >> 12) & 0x1) == 0)
+                                    {
+                                      if (((word >> 29) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxx0111xxxxxxxx111100xx
+                                             movi.  */
+                                          return 136;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxx0111xxxxxxxx111101xx
+                                             movi.  */
+                                          return 144;
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 10) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxx0x1111xxxxxxxx11110xxx
+                                             sqrdmlsh.  */
+                                          return 128;
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 11) & 0x1) == 0)
                                             {
-                                              if (((word >> 30) & 0x1) == 0)
+                                              if (((word >> 29) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1110x1xxxxxxxx1111000x
-                                                     sqrshrn.  */
-                                                  return 377;
+                                                     xxxxxxxxxx101111xxxxxxxx111100xx
+                                                     fmov.  */
+                                                  return 137;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1110x1xxxxxxxx1111001x
-                                                     sqrshrn2.  */
-                                                  return 378;
+                                                     xxxxxxxxxx101111xxxxxxxx111101xx
+                                                     fmov.  */
+                                                  return 146;
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 30) & 0x1) == 0)
+                                              if (((word >> 29) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1110x1xxxxxxxx1111010x
-                                                     uqrshrn.  */
-                                                  return 401;
+                                                     xxxxxxxxxx111111xxxxxxxx111100xx
+                                                     fmov.  */
+                                                  return 138;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1110x1xxxxxxxx1111011x
-                                                     uqrshrn2.  */
-                                                  return 402;
+                                                     xxxxxxxxxx111111xxxxxxxx111101xx
+                                                     fcvtzu.  */
+                                                  return 412;
                                                 }
                                             }
                                         }
-                                      else
-                                        {
-                                          if (((word >> 29) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx1111x1xxxxxxxx111100xx
-                                                 fmov.  */
-                                              return 137;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx1111x1xxxxxxxx111101xx
-                                                 fcvtzu.  */
-                                              return 409;
-                                            }
-                                        }
                                     }
                                 }
                             }
@@ -17861,7 +18345,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx1xxxxx0xx1111100x
                                          fmsub.  */
-                                      return 839;
+                                      return 842;
                                     }
                                   else
                                     {
@@ -17869,7 +18353,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx1xxxxx1xx1111100x
                                          fnmsub.  */
-                                      return 843;
+                                      return 846;
                                     }
                                 }
                               else
@@ -17882,7 +18366,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx0x0xx1xxxxxxxx1111101x
                                              sqdmulh.  */
-                                          return 419;
+                                          return 422;
                                         }
                                       else
                                         {
@@ -17896,7 +18380,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx0x1001xxxxxxx01111101x
                                                          fmul.  */
-                                                      return 426;
+                                                      return 429;
                                                     }
                                                   else
                                                     {
@@ -17904,7 +18388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx0x1001xxxxxxx11111101x
                                                          fmul.  */
-                                                      return 425;
+                                                      return 428;
                                                     }
                                                 }
                                               else
@@ -17913,7 +18397,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x1011xxxxxxxx1111101x
                                                      sqrdmulh.  */
-                                                  return 420;
+                                                  return 423;
                                                 }
                                             }
                                           else
@@ -17922,7 +18406,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x11x1xxxxxxxx1111101x
                                                  sqdmull.  */
-                                              return 418;
+                                              return 421;
                                             }
                                         }
                                     }
@@ -17936,7 +18420,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx100xx1xxxxxxxx1111101x
                                                  scvtf.  */
-                                              return 589;
+                                              return 592;
                                             }
                                           else
                                             {
@@ -17944,7 +18428,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx101xx1xxxxxxxx1111101x
                                                  sqshrn.  */
-                                              return 587;
+                                              return 590;
                                             }
                                         }
                                       else
@@ -17955,7 +18439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx11x0x1xxxxxxxx1111101x
                                                  sqrshrn.  */
-                                              return 588;
+                                              return 591;
                                             }
                                           else
                                             {
@@ -17963,7 +18447,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx11x1x1xxxxxxxx1111101x
                                                  fcvtzs.  */
-                                              return 591;
+                                              return 594;
                                             }
                                         }
                                     }
@@ -17983,7 +18467,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0xx001xxxxxxx0111111xx
                                                  fmulx.  */
-                                              return 428;
+                                              return 431;
                                             }
                                           else
                                             {
@@ -17991,7 +18475,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0xx001xxxxxxx1111111xx
                                                  fmulx.  */
-                                              return 427;
+                                              return 430;
                                             }
                                         }
                                       else
@@ -18000,7 +18484,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx0xx011xxxxxxxx111111xx
                                              sqrdmlah.  */
-                                          return 429;
+                                          return 432;
                                         }
                                     }
                                   else
@@ -18009,7 +18493,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx0xx1x1xxxxxxxx111111xx
                                          sqrdmlsh.  */
-                                      return 430;
+                                      return 433;
                                     }
                                 }
                               else
@@ -18024,7 +18508,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1000x1xxxxxxxx111111xx
                                                  sqshrun.  */
-                                              return 601;
+                                              return 604;
                                             }
                                           else
                                             {
@@ -18032,7 +18516,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1001x1xxxxxxxx111111xx
                                                  ucvtf.  */
-                                              return 605;
+                                              return 608;
                                             }
                                         }
                                       else
@@ -18041,7 +18525,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx101xx1xxxxxxxx111111xx
                                              uqshrn.  */
-                                          return 603;
+                                          return 606;
                                         }
                                     }
                                   else
@@ -18052,7 +18536,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx110xx1xxxxxxxx111111xx
                                              sqrshrun.  */
-                                          return 602;
+                                          return 605;
                                         }
                                       else
                                         {
@@ -18062,7 +18546,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1110x1xxxxxxxx111111xx
                                                  uqrshrn.  */
-                                              return 604;
+                                              return 607;
                                             }
                                           else
                                             {
@@ -18070,7 +18554,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1111x1xxxxxxxx111111xx
                                                  fcvtzu.  */
-                                              return 607;
+                                              return 610;
                                             }
                                         }
                                     }
@@ -18101,208 +18585,210 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
   int value;
   switch (key)
     {
-    case 938: value = 942; break;      /* stnp --> stp.  */
-    case 942: return NULL;             /* stp --> NULL.  */
-    case 936: value = 937; break;      /* stllrb --> stllrh.  */
-    case 937: return NULL;             /* stllrh --> NULL.  */
-    case 939: value = 943; break;      /* ldnp --> ldp.  */
-    case 943: return NULL;             /* ldp --> NULL.  */
-    case 1154: value = 1155; break;    /* msr --> hint.  */
-    case 1155: value = 1169; break;    /* hint --> clrex.  */
-    case 1169: value = 1170; break;    /* clrex --> dsb.  */
-    case 1170: value = 1171; break;    /* dsb --> dmb.  */
-    case 1171: value = 1172; break;    /* dmb --> isb.  */
-    case 1172: value = 1173; break;    /* isb --> sys.  */
-    case 1173: value = 1178; break;    /* sys --> msr.  */
-    case 1178: return NULL;            /* msr --> NULL.  */
-    case 1179: value = 1180; break;    /* sysl --> mrs.  */
-    case 1180: return NULL;            /* mrs --> NULL.  */
-    case 431: value = 432; break;      /* st4 --> st1.  */
-    case 432: value = 433; break;      /* st1 --> st2.  */
-    case 433: value = 434; break;      /* st2 --> st3.  */
-    case 434: return NULL;             /* st3 --> NULL.  */
-    case 439: value = 440; break;      /* st4 --> st1.  */
-    case 440: value = 441; break;      /* st1 --> st2.  */
-    case 441: value = 442; break;      /* st2 --> st3.  */
-    case 442: return NULL;             /* st3 --> NULL.  */
-    case 435: value = 436; break;      /* ld4 --> ld1.  */
-    case 436: value = 437; break;      /* ld1 --> ld2.  */
-    case 437: value = 438; break;      /* ld2 --> ld3.  */
-    case 438: return NULL;             /* ld3 --> NULL.  */
-    case 451: value = 453; break;      /* ld1 --> ld1r.  */
-    case 453: return NULL;             /* ld1r --> NULL.  */
-    case 455: value = 457; break;      /* ld2 --> ld2r.  */
-    case 457: return NULL;             /* ld2r --> NULL.  */
-    case 452: value = 454; break;      /* ld3 --> ld3r.  */
-    case 454: return NULL;             /* ld3r --> NULL.  */
-    case 456: value = 458; break;      /* ld4 --> ld4r.  */
-    case 458: return NULL;             /* ld4r --> NULL.  */
-    case 443: value = 444; break;      /* ld4 --> ld1.  */
-    case 444: value = 445; break;      /* ld1 --> ld2.  */
-    case 445: value = 446; break;      /* ld2 --> ld3.  */
-    case 446: return NULL;             /* ld3 --> NULL.  */
-    case 463: value = 465; break;      /* ld1 --> ld1r.  */
-    case 465: return NULL;             /* ld1r --> NULL.  */
-    case 464: value = 466; break;      /* ld3 --> ld3r.  */
-    case 466: return NULL;             /* ld3r --> NULL.  */
-    case 467: value = 469; break;      /* ld2 --> ld2r.  */
-    case 469: return NULL;             /* ld2r --> NULL.  */
-    case 468: value = 470; break;      /* ld4 --> ld4r.  */
-    case 470: return NULL;             /* ld4r --> NULL.  */
-    case 749: value = 750; break;      /* fcvtzs --> fcvtzs.  */
-    case 750: return NULL;             /* fcvtzs --> NULL.  */
-    case 745: value = 746; break;      /* scvtf --> scvtf.  */
-    case 746: return NULL;             /* scvtf --> NULL.  */
-    case 751: value = 752; break;      /* fcvtzu --> fcvtzu.  */
-    case 752: return NULL;             /* fcvtzu --> NULL.  */
-    case 747: value = 748; break;      /* ucvtf --> ucvtf.  */
-    case 748: return NULL;             /* ucvtf --> NULL.  */
-    case 753: value = 754; break;      /* fcvtns --> fcvtns.  */
-    case 754: return NULL;             /* fcvtns --> NULL.  */
-    case 773: value = 774; break;      /* fcvtms --> fcvtms.  */
-    case 774: return NULL;             /* fcvtms --> NULL.  */
-    case 769: value = 770; break;      /* fcvtps --> fcvtps.  */
-    case 770: return NULL;             /* fcvtps --> NULL.  */
-    case 777: value = 778; break;      /* fcvtzs --> fcvtzs.  */
-    case 778: return NULL;             /* fcvtzs --> NULL.  */
-    case 761: value = 762; break;      /* fcvtas --> fcvtas.  */
-    case 762: return NULL;             /* fcvtas --> NULL.  */
-    case 757: value = 758; break;      /* scvtf --> scvtf.  */
-    case 758: return NULL;             /* scvtf --> NULL.  */
-    case 765: value = 766; break;      /* fmov --> fmov.  */
-    case 766: return NULL;             /* fmov --> NULL.  */
-    case 755: value = 756; break;      /* fcvtnu --> fcvtnu.  */
-    case 756: return NULL;             /* fcvtnu --> NULL.  */
-    case 775: value = 776; break;      /* fcvtmu --> fcvtmu.  */
-    case 776: return NULL;             /* fcvtmu --> NULL.  */
-    case 771: value = 772; break;      /* fcvtpu --> fcvtpu.  */
-    case 772: return NULL;             /* fcvtpu --> NULL.  */
-    case 779: value = 780; break;      /* fcvtzu --> fcvtzu.  */
-    case 780: return NULL;             /* fcvtzu --> NULL.  */
-    case 763: value = 764; break;      /* fcvtau --> fcvtau.  */
-    case 764: return NULL;             /* fcvtau --> NULL.  */
-    case 759: value = 760; break;      /* ucvtf --> ucvtf.  */
-    case 760: return NULL;             /* ucvtf --> NULL.  */
-    case 767: value = 768; break;      /* fmov --> fmov.  */
-    case 768: return NULL;             /* fmov --> NULL.  */
-    case 796: value = 797; break;      /* fmov --> fmov.  */
-    case 797: return NULL;             /* fmov --> NULL.  */
-    case 805: value = 806; break;      /* frintn --> frintn.  */
-    case 806: return NULL;             /* frintn --> NULL.  */
-    case 800: value = 801; break;      /* fneg --> fneg.  */
-    case 801: return NULL;             /* fneg --> NULL.  */
-    case 809: value = 810; break;      /* frintm --> frintm.  */
-    case 810: return NULL;             /* frintm --> NULL.  */
-    case 798: value = 799; break;      /* fabs --> fabs.  */
-    case 799: return NULL;             /* fabs --> NULL.  */
-    case 807: value = 808; break;      /* frintp --> frintp.  */
-    case 808: return NULL;             /* frintp --> NULL.  */
-    case 802: value = 803; break;      /* fsqrt --> fsqrt.  */
-    case 803: return NULL;             /* fsqrt --> NULL.  */
-    case 811: value = 812; break;      /* frintz --> frintz.  */
-    case 812: return NULL;             /* frintz --> NULL.  */
-    case 813: value = 814; break;      /* frinta --> frinta.  */
-    case 814: return NULL;             /* frinta --> NULL.  */
-    case 815: value = 816; break;      /* frintx --> frintx.  */
-    case 816: return NULL;             /* frintx --> NULL.  */
-    case 817: value = 818; break;      /* frinti --> frinti.  */
-    case 818: return NULL;             /* frinti --> NULL.  */
-    case 788: value = 789; break;      /* fcmp --> fcmp.  */
-    case 789: return NULL;             /* fcmp --> NULL.  */
-    case 790: value = 791; break;      /* fcmpe --> fcmpe.  */
-    case 791: return NULL;             /* fcmpe --> NULL.  */
-    case 792: value = 793; break;      /* fcmp --> fcmp.  */
-    case 793: return NULL;             /* fcmp --> NULL.  */
-    case 794: value = 795; break;      /* fcmpe --> fcmpe.  */
-    case 795: return NULL;             /* fcmpe --> NULL.  */
-    case 845: value = 846; break;      /* fmov --> fmov.  */
-    case 846: return NULL;             /* fmov --> NULL.  */
-    case 819: value = 820; break;      /* fmul --> fmul.  */
-    case 820: return NULL;             /* fmul --> NULL.  */
-    case 835: value = 836; break;      /* fnmul --> fnmul.  */
-    case 836: return NULL;             /* fnmul --> NULL.  */
-    case 827: value = 828; break;      /* fmax --> fmax.  */
-    case 828: return NULL;             /* fmax --> NULL.  */
-    case 823: value = 824; break;      /* fadd --> fadd.  */
-    case 824: return NULL;             /* fadd --> NULL.  */
-    case 831: value = 832; break;      /* fmaxnm --> fmaxnm.  */
-    case 832: return NULL;             /* fmaxnm --> NULL.  */
-    case 821: value = 822; break;      /* fdiv --> fdiv.  */
-    case 822: return NULL;             /* fdiv --> NULL.  */
-    case 829: value = 830; break;      /* fmin --> fmin.  */
-    case 830: return NULL;             /* fmin --> NULL.  */
-    case 825: value = 826; break;      /* fsub --> fsub.  */
-    case 826: return NULL;             /* fsub --> NULL.  */
-    case 833: value = 834; break;      /* fminnm --> fminnm.  */
-    case 834: return NULL;             /* fminnm --> NULL.  */
-    case 784: value = 785; break;      /* fccmp --> fccmp.  */
-    case 785: return NULL;             /* fccmp --> NULL.  */
-    case 786: value = 787; break;      /* fccmpe --> fccmpe.  */
-    case 787: return NULL;             /* fccmpe --> NULL.  */
-    case 847: value = 848; break;      /* fcsel --> fcsel.  */
-    case 848: return NULL;             /* fcsel --> NULL.  */
-    case 130: value = 365; break;      /* movi --> sshr.  */
-    case 365: value = 367; break;      /* sshr --> srshr.  */
-    case 367: return NULL;             /* srshr --> NULL.  */
-    case 138: value = 387; break;      /* mvni --> ushr.  */
-    case 387: value = 389; break;      /* ushr --> urshr.  */
-    case 389: value = 391; break;      /* urshr --> sri.  */
-    case 391: value = 393; break;      /* sri --> sqshlu.  */
-    case 393: return NULL;             /* sqshlu --> NULL.  */
-    case 131: value = 366; break;      /* orr --> ssra.  */
-    case 366: value = 368; break;      /* ssra --> srsra.  */
-    case 368: value = 369; break;      /* srsra --> shl.  */
-    case 369: value = 370; break;      /* shl --> sqshl.  */
-    case 370: return NULL;             /* sqshl --> NULL.  */
-    case 139: value = 388; break;      /* bic --> usra.  */
-    case 388: value = 390; break;      /* usra --> ursra.  */
-    case 390: value = 392; break;      /* ursra --> sli.  */
-    case 392: value = 394; break;      /* sli --> uqshl.  */
-    case 394: return NULL;             /* uqshl --> NULL.  */
-    case 837: value = 838; break;      /* fmadd --> fmadd.  */
-    case 838: return NULL;             /* fmadd --> NULL.  */
-    case 841: value = 842; break;      /* fnmadd --> fnmadd.  */
-    case 842: return NULL;             /* fnmadd --> NULL.  */
-    case 132: value = 371; break;      /* movi --> shrn.  */
-    case 371: value = 372; break;      /* shrn --> shrn2.  */
-    case 372: value = 379; break;      /* shrn2 --> sshll.  */
-    case 379: value = 381; break;      /* sshll --> sshll2.  */
-    case 381: return NULL;             /* sshll2 --> NULL.  */
-    case 140: value = 395; break;      /* mvni --> sqshrun.  */
-    case 395: value = 396; break;      /* sqshrun --> sqshrun2.  */
-    case 396: value = 403; break;      /* sqshrun2 --> ushll.  */
-    case 403: value = 405; break;      /* ushll --> ushll2.  */
-    case 405: return NULL;             /* ushll2 --> NULL.  */
-    case 133: value = 375; break;      /* orr --> sqshrn.  */
-    case 375: value = 376; break;      /* sqshrn --> sqshrn2.  */
-    case 376: return NULL;             /* sqshrn2 --> NULL.  */
-    case 141: value = 399; break;      /* bic --> uqshrn.  */
-    case 399: value = 400; break;      /* uqshrn --> uqshrn2.  */
-    case 400: return NULL;             /* uqshrn2 --> NULL.  */
-    case 135: value = 383; break;      /* movi --> scvtf.  */
-    case 383: value = 384; break;      /* scvtf --> scvtf.  */
-    case 384: return NULL;             /* scvtf --> NULL.  */
-    case 143: value = 144; break;      /* movi --> movi.  */
-    case 144: value = 407; break;      /* movi --> ucvtf.  */
-    case 407: value = 408; break;      /* ucvtf --> ucvtf.  */
-    case 408: return NULL;             /* ucvtf --> NULL.  */
-    case 137: value = 385; break;      /* fmov --> fcvtzs.  */
-    case 385: value = 386; break;      /* fcvtzs --> fcvtzs.  */
-    case 386: return NULL;             /* fcvtzs --> NULL.  */
-    case 409: value = 410; break;      /* fcvtzu --> fcvtzu.  */
-    case 410: return NULL;             /* fcvtzu --> NULL.  */
-    case 839: value = 840; break;      /* fmsub --> fmsub.  */
-    case 840: return NULL;             /* fmsub --> NULL.  */
-    case 843: value = 844; break;      /* fnmsub --> fnmsub.  */
-    case 844: return NULL;             /* fnmsub --> NULL.  */
-    case 589: value = 590; break;      /* scvtf --> scvtf.  */
-    case 590: return NULL;             /* scvtf --> NULL.  */
-    case 591: value = 592; break;      /* fcvtzs --> fcvtzs.  */
-    case 592: return NULL;             /* fcvtzs --> NULL.  */
-    case 605: value = 606; break;      /* ucvtf --> ucvtf.  */
-    case 606: return NULL;             /* ucvtf --> NULL.  */
-    case 607: value = 608; break;      /* fcvtzu --> fcvtzu.  */
-    case 608: return NULL;             /* fcvtzu --> NULL.  */
+    case 941: value = 945; break;      /* stnp --> stp.  */
+    case 945: return NULL;             /* stp --> NULL.  */
+    case 939: value = 940; break;      /* stllrb --> stllrh.  */
+    case 940: return NULL;             /* stllrh --> NULL.  */
+    case 942: value = 946; break;      /* ldnp --> ldp.  */
+    case 946: return NULL;             /* ldp --> NULL.  */
+    case 1157: value = 1158; break;    /* msr --> hint.  */
+    case 1158: value = 1172; break;    /* hint --> clrex.  */
+    case 1172: value = 1173; break;    /* clrex --> dsb.  */
+    case 1173: value = 1174; break;    /* dsb --> dmb.  */
+    case 1174: value = 1175; break;    /* dmb --> isb.  */
+    case 1175: value = 1176; break;    /* isb --> sys.  */
+    case 1176: value = 1181; break;    /* sys --> msr.  */
+    case 1181: return NULL;            /* msr --> NULL.  */
+    case 1182: value = 1183; break;    /* sysl --> mrs.  */
+    case 1183: return NULL;            /* mrs --> NULL.  */
+    case 434: value = 435; break;      /* st4 --> st1.  */
+    case 435: value = 436; break;      /* st1 --> st2.  */
+    case 436: value = 437; break;      /* st2 --> st3.  */
+    case 437: return NULL;             /* st3 --> NULL.  */
+    case 442: value = 443; break;      /* st4 --> st1.  */
+    case 443: value = 444; break;      /* st1 --> st2.  */
+    case 444: value = 445; break;      /* st2 --> st3.  */
+    case 445: return NULL;             /* st3 --> NULL.  */
+    case 438: value = 439; break;      /* ld4 --> ld1.  */
+    case 439: value = 440; break;      /* ld1 --> ld2.  */
+    case 440: value = 441; break;      /* ld2 --> ld3.  */
+    case 441: return NULL;             /* ld3 --> NULL.  */
+    case 454: value = 456; break;      /* ld1 --> ld1r.  */
+    case 456: return NULL;             /* ld1r --> NULL.  */
+    case 458: value = 460; break;      /* ld2 --> ld2r.  */
+    case 460: return NULL;             /* ld2r --> NULL.  */
+    case 455: value = 457; break;      /* ld3 --> ld3r.  */
+    case 457: return NULL;             /* ld3r --> NULL.  */
+    case 459: value = 461; break;      /* ld4 --> ld4r.  */
+    case 461: return NULL;             /* ld4r --> NULL.  */
+    case 446: value = 447; break;      /* ld4 --> ld1.  */
+    case 447: value = 448; break;      /* ld1 --> ld2.  */
+    case 448: value = 449; break;      /* ld2 --> ld3.  */
+    case 449: return NULL;             /* ld3 --> NULL.  */
+    case 466: value = 468; break;      /* ld1 --> ld1r.  */
+    case 468: return NULL;             /* ld1r --> NULL.  */
+    case 467: value = 469; break;      /* ld3 --> ld3r.  */
+    case 469: return NULL;             /* ld3r --> NULL.  */
+    case 470: value = 472; break;      /* ld2 --> ld2r.  */
+    case 472: return NULL;             /* ld2r --> NULL.  */
+    case 471: value = 473; break;      /* ld4 --> ld4r.  */
+    case 473: return NULL;             /* ld4r --> NULL.  */
+    case 752: value = 753; break;      /* fcvtzs --> fcvtzs.  */
+    case 753: return NULL;             /* fcvtzs --> NULL.  */
+    case 748: value = 749; break;      /* scvtf --> scvtf.  */
+    case 749: return NULL;             /* scvtf --> NULL.  */
+    case 754: value = 755; break;      /* fcvtzu --> fcvtzu.  */
+    case 755: return NULL;             /* fcvtzu --> NULL.  */
+    case 750: value = 751; break;      /* ucvtf --> ucvtf.  */
+    case 751: return NULL;             /* ucvtf --> NULL.  */
+    case 756: value = 757; break;      /* fcvtns --> fcvtns.  */
+    case 757: return NULL;             /* fcvtns --> NULL.  */
+    case 776: value = 777; break;      /* fcvtms --> fcvtms.  */
+    case 777: return NULL;             /* fcvtms --> NULL.  */
+    case 772: value = 773; break;      /* fcvtps --> fcvtps.  */
+    case 773: return NULL;             /* fcvtps --> NULL.  */
+    case 780: value = 781; break;      /* fcvtzs --> fcvtzs.  */
+    case 781: return NULL;             /* fcvtzs --> NULL.  */
+    case 764: value = 765; break;      /* fcvtas --> fcvtas.  */
+    case 765: return NULL;             /* fcvtas --> NULL.  */
+    case 760: value = 761; break;      /* scvtf --> scvtf.  */
+    case 761: return NULL;             /* scvtf --> NULL.  */
+    case 768: value = 769; break;      /* fmov --> fmov.  */
+    case 769: return NULL;             /* fmov --> NULL.  */
+    case 758: value = 759; break;      /* fcvtnu --> fcvtnu.  */
+    case 759: return NULL;             /* fcvtnu --> NULL.  */
+    case 778: value = 779; break;      /* fcvtmu --> fcvtmu.  */
+    case 779: return NULL;             /* fcvtmu --> NULL.  */
+    case 774: value = 775; break;      /* fcvtpu --> fcvtpu.  */
+    case 775: return NULL;             /* fcvtpu --> NULL.  */
+    case 782: value = 783; break;      /* fcvtzu --> fcvtzu.  */
+    case 783: return NULL;             /* fcvtzu --> NULL.  */
+    case 766: value = 767; break;      /* fcvtau --> fcvtau.  */
+    case 767: return NULL;             /* fcvtau --> NULL.  */
+    case 762: value = 763; break;      /* ucvtf --> ucvtf.  */
+    case 763: return NULL;             /* ucvtf --> NULL.  */
+    case 770: value = 771; break;      /* fmov --> fmov.  */
+    case 771: return NULL;             /* fmov --> NULL.  */
+    case 799: value = 800; break;      /* fmov --> fmov.  */
+    case 800: return NULL;             /* fmov --> NULL.  */
+    case 808: value = 809; break;      /* frintn --> frintn.  */
+    case 809: return NULL;             /* frintn --> NULL.  */
+    case 803: value = 804; break;      /* fneg --> fneg.  */
+    case 804: return NULL;             /* fneg --> NULL.  */
+    case 812: value = 813; break;      /* frintm --> frintm.  */
+    case 813: return NULL;             /* frintm --> NULL.  */
+    case 801: value = 802; break;      /* fabs --> fabs.  */
+    case 802: return NULL;             /* fabs --> NULL.  */
+    case 810: value = 811; break;      /* frintp --> frintp.  */
+    case 811: return NULL;             /* frintp --> NULL.  */
+    case 805: value = 806; break;      /* fsqrt --> fsqrt.  */
+    case 806: return NULL;             /* fsqrt --> NULL.  */
+    case 814: value = 815; break;      /* frintz --> frintz.  */
+    case 815: return NULL;             /* frintz --> NULL.  */
+    case 816: value = 817; break;      /* frinta --> frinta.  */
+    case 817: return NULL;             /* frinta --> NULL.  */
+    case 818: value = 819; break;      /* frintx --> frintx.  */
+    case 819: return NULL;             /* frintx --> NULL.  */
+    case 820: value = 821; break;      /* frinti --> frinti.  */
+    case 821: return NULL;             /* frinti --> NULL.  */
+    case 791: value = 792; break;      /* fcmp --> fcmp.  */
+    case 792: return NULL;             /* fcmp --> NULL.  */
+    case 793: value = 794; break;      /* fcmpe --> fcmpe.  */
+    case 794: return NULL;             /* fcmpe --> NULL.  */
+    case 795: value = 796; break;      /* fcmp --> fcmp.  */
+    case 796: return NULL;             /* fcmp --> NULL.  */
+    case 797: value = 798; break;      /* fcmpe --> fcmpe.  */
+    case 798: return NULL;             /* fcmpe --> NULL.  */
+    case 848: value = 849; break;      /* fmov --> fmov.  */
+    case 849: return NULL;             /* fmov --> NULL.  */
+    case 822: value = 823; break;      /* fmul --> fmul.  */
+    case 823: return NULL;             /* fmul --> NULL.  */
+    case 838: value = 839; break;      /* fnmul --> fnmul.  */
+    case 839: return NULL;             /* fnmul --> NULL.  */
+    case 830: value = 831; break;      /* fmax --> fmax.  */
+    case 831: return NULL;             /* fmax --> NULL.  */
+    case 826: value = 827; break;      /* fadd --> fadd.  */
+    case 827: return NULL;             /* fadd --> NULL.  */
+    case 834: value = 835; break;      /* fmaxnm --> fmaxnm.  */
+    case 835: return NULL;             /* fmaxnm --> NULL.  */
+    case 824: value = 825; break;      /* fdiv --> fdiv.  */
+    case 825: return NULL;             /* fdiv --> NULL.  */
+    case 832: value = 833; break;      /* fmin --> fmin.  */
+    case 833: return NULL;             /* fmin --> NULL.  */
+    case 828: value = 829; break;      /* fsub --> fsub.  */
+    case 829: return NULL;             /* fsub --> NULL.  */
+    case 836: value = 837; break;      /* fminnm --> fminnm.  */
+    case 837: return NULL;             /* fminnm --> NULL.  */
+    case 787: value = 788; break;      /* fccmp --> fccmp.  */
+    case 788: return NULL;             /* fccmp --> NULL.  */
+    case 789: value = 790; break;      /* fccmpe --> fccmpe.  */
+    case 790: return NULL;             /* fccmpe --> NULL.  */
+    case 850: value = 851; break;      /* fcsel --> fcsel.  */
+    case 851: return NULL;             /* fcsel --> NULL.  */
+    case 131: value = 368; break;      /* movi --> sshr.  */
+    case 368: value = 370; break;      /* sshr --> srshr.  */
+    case 370: return NULL;             /* srshr --> NULL.  */
+    case 139: value = 390; break;      /* mvni --> ushr.  */
+    case 390: value = 392; break;      /* ushr --> urshr.  */
+    case 392: value = 394; break;      /* urshr --> sri.  */
+    case 394: value = 396; break;      /* sri --> sqshlu.  */
+    case 396: return NULL;             /* sqshlu --> NULL.  */
+    case 132: value = 369; break;      /* orr --> ssra.  */
+    case 369: value = 371; break;      /* ssra --> srsra.  */
+    case 371: value = 372; break;      /* srsra --> shl.  */
+    case 372: value = 373; break;      /* shl --> sqshl.  */
+    case 373: return NULL;             /* sqshl --> NULL.  */
+    case 140: value = 391; break;      /* bic --> usra.  */
+    case 391: value = 393; break;      /* usra --> ursra.  */
+    case 393: value = 395; break;      /* ursra --> sli.  */
+    case 395: value = 397; break;      /* sli --> uqshl.  */
+    case 397: return NULL;             /* uqshl --> NULL.  */
+    case 840: value = 841; break;      /* fmadd --> fmadd.  */
+    case 841: return NULL;             /* fmadd --> NULL.  */
+    case 844: value = 845; break;      /* fnmadd --> fnmadd.  */
+    case 845: return NULL;             /* fnmadd --> NULL.  */
+    case 133: value = 374; break;      /* movi --> shrn.  */
+    case 374: value = 375; break;      /* shrn --> shrn2.  */
+    case 375: value = 382; break;      /* shrn2 --> sshll.  */
+    case 382: value = 384; break;      /* sshll --> sshll2.  */
+    case 384: return NULL;             /* sshll2 --> NULL.  */
+    case 141: value = 398; break;      /* mvni --> sqshrun.  */
+    case 398: value = 399; break;      /* sqshrun --> sqshrun2.  */
+    case 399: value = 406; break;      /* sqshrun2 --> ushll.  */
+    case 406: value = 408; break;      /* ushll --> ushll2.  */
+    case 408: return NULL;             /* ushll2 --> NULL.  */
+    case 134: value = 378; break;      /* orr --> sqshrn.  */
+    case 378: value = 379; break;      /* sqshrn --> sqshrn2.  */
+    case 379: return NULL;             /* sqshrn2 --> NULL.  */
+    case 142: value = 402; break;      /* bic --> uqshrn.  */
+    case 402: value = 403; break;      /* uqshrn --> uqshrn2.  */
+    case 403: return NULL;             /* uqshrn2 --> NULL.  */
+    case 136: value = 386; break;      /* movi --> scvtf.  */
+    case 386: value = 387; break;      /* scvtf --> scvtf.  */
+    case 387: value = 1989; break;     /* scvtf --> sdot.  */
+    case 1989: return NULL;            /* sdot --> NULL.  */
+    case 144: value = 145; break;      /* movi --> movi.  */
+    case 145: value = 410; break;      /* movi --> ucvtf.  */
+    case 410: value = 411; break;      /* ucvtf --> ucvtf.  */
+    case 411: value = 1988; break;     /* ucvtf --> udot.  */
+    case 1988: return NULL;            /* udot --> NULL.  */
+    case 138: value = 388; break;      /* fmov --> fcvtzs.  */
+    case 388: value = 389; break;      /* fcvtzs --> fcvtzs.  */
+    case 389: return NULL;             /* fcvtzs --> NULL.  */
+    case 412: value = 413; break;      /* fcvtzu --> fcvtzu.  */
+    case 413: return NULL;             /* fcvtzu --> NULL.  */
+    case 842: value = 843; break;      /* fmsub --> fmsub.  */
+    case 843: return NULL;             /* fmsub --> NULL.  */
+    case 846: value = 847; break;      /* fnmsub --> fnmsub.  */
+    case 847: return NULL;             /* fnmsub --> NULL.  */
+    case 592: value = 593; break;      /* scvtf --> scvtf.  */
+    case 593: return NULL;             /* scvtf --> NULL.  */
+    case 594: value = 595; break;      /* fcvtzs --> fcvtzs.  */
+    case 595: return NULL;             /* fcvtzs --> NULL.  */
+    case 608: value = 609; break;      /* ucvtf --> ucvtf.  */
+    case 609: return NULL;             /* ucvtf --> NULL.  */
+    case 610: value = 611; break;      /* fcvtzu --> fcvtzu.  */
+    case 611: return NULL;             /* fcvtzu --> NULL.  */
     default: return NULL;
     }
 
@@ -18327,121 +18813,121 @@ aarch64_find_alias_opcode (const aarch64_opcode *opcode)
     case 20: value = 21; break;        /* adds --> cmn.  */
     case 22: value = 23; break;        /* sub --> neg.  */
     case 24: value = 26; break;        /* subs --> negs.  */
-    case 149: value = 150; break;      /* umov --> mov.  */
-    case 151: value = 152; break;      /* ins --> mov.  */
-    case 153: value = 154; break;      /* ins --> mov.  */
-    case 235: value = 236; break;      /* not --> mvn.  */
-    case 310: value = 311; break;      /* orr --> mov.  */
-    case 379: value = 380; break;      /* sshll --> sxtl.  */
-    case 381: value = 382; break;      /* sshll2 --> sxtl2.  */
-    case 403: value = 404; break;      /* ushll --> uxtl.  */
-    case 405: value = 406; break;      /* ushll2 --> uxtl2.  */
-    case 526: value = 527; break;      /* dup --> mov.  */
-    case 609: value = 614; break;      /* sbfm --> sxtw.  */
-    case 616: value = 618; break;      /* bfm --> bfc.  */
-    case 620: value = 624; break;      /* ubfm --> uxth.  */
-    case 654: value = 656; break;      /* csinc --> cset.  */
-    case 657: value = 659; break;      /* csinv --> csetm.  */
-    case 660: value = 661; break;      /* csneg --> cneg.  */
-    case 679: value = 679; break;      /* rev --> rev.  */
-    case 704: value = 705; break;      /* lslv --> lsl.  */
-    case 706: value = 707; break;      /* lsrv --> lsr.  */
-    case 708: value = 709; break;      /* asrv --> asr.  */
-    case 710: value = 711; break;      /* rorv --> ror.  */
-    case 721: value = 722; break;      /* madd --> mul.  */
-    case 723: value = 724; break;      /* msub --> mneg.  */
-    case 725: value = 726; break;      /* smaddl --> smull.  */
-    case 727: value = 728; break;      /* smsubl --> smnegl.  */
-    case 730: value = 731; break;      /* umaddl --> umull.  */
-    case 732: value = 733; break;      /* umsubl --> umnegl.  */
-    case 743: value = 744; break;      /* extr --> ror.  */
-    case 956: value = 957; break;      /* and --> bic.  */
-    case 958: value = 959; break;      /* orr --> mov.  */
-    case 961: value = 962; break;      /* ands --> tst.  */
-    case 965: value = 967; break;      /* orr --> uxtw.  */
-    case 968: value = 969; break;      /* orn --> mvn.  */
-    case 972: value = 973; break;      /* ands --> tst.  */
-    case 1003: value = 1099; break;    /* ldaddb --> staddb.  */
-    case 1004: value = 1100; break;    /* ldaddh --> staddh.  */
-    case 1005: value = 1101; break;    /* ldadd --> stadd.  */
-    case 1007: value = 1102; break;    /* ldaddlb --> staddlb.  */
-    case 1010: value = 1103; break;    /* ldaddlh --> staddlh.  */
-    case 1013: value = 1104; break;    /* ldaddl --> staddl.  */
-    case 1015: value = 1105; break;    /* ldclrb --> stclrb.  */
-    case 1016: value = 1106; break;    /* ldclrh --> stclrh.  */
-    case 1017: value = 1107; break;    /* ldclr --> stclr.  */
-    case 1019: value = 1108; break;    /* ldclrlb --> stclrlb.  */
-    case 1022: value = 1109; break;    /* ldclrlh --> stclrlh.  */
-    case 1025: value = 1110; break;    /* ldclrl --> stclrl.  */
-    case 1027: value = 1111; break;    /* ldeorb --> steorb.  */
-    case 1028: value = 1112; break;    /* ldeorh --> steorh.  */
-    case 1029: value = 1113; break;    /* ldeor --> steor.  */
-    case 1031: value = 1114; break;    /* ldeorlb --> steorlb.  */
-    case 1034: value = 1115; break;    /* ldeorlh --> steorlh.  */
-    case 1037: value = 1116; break;    /* ldeorl --> steorl.  */
-    case 1039: value = 1117; break;    /* ldsetb --> stsetb.  */
-    case 1040: value = 1118; break;    /* ldseth --> stseth.  */
-    case 1041: value = 1119; break;    /* ldset --> stset.  */
-    case 1043: value = 1120; break;    /* ldsetlb --> stsetlb.  */
-    case 1046: value = 1121; break;    /* ldsetlh --> stsetlh.  */
-    case 1049: value = 1122; break;    /* ldsetl --> stsetl.  */
-    case 1051: value = 1123; break;    /* ldsmaxb --> stsmaxb.  */
-    case 1052: value = 1124; break;    /* ldsmaxh --> stsmaxh.  */
-    case 1053: value = 1125; break;    /* ldsmax --> stsmax.  */
-    case 1055: value = 1126; break;    /* ldsmaxlb --> stsmaxlb.  */
-    case 1058: value = 1127; break;    /* ldsmaxlh --> stsmaxlh.  */
-    case 1061: value = 1128; break;    /* ldsmaxl --> stsmaxl.  */
-    case 1063: value = 1129; break;    /* ldsminb --> stsminb.  */
-    case 1064: value = 1130; break;    /* ldsminh --> stsminh.  */
-    case 1065: value = 1131; break;    /* ldsmin --> stsmin.  */
-    case 1067: value = 1132; break;    /* ldsminlb --> stsminlb.  */
-    case 1070: value = 1133; break;    /* ldsminlh --> stsminlh.  */
-    case 1073: value = 1134; break;    /* ldsminl --> stsminl.  */
-    case 1075: value = 1135; break;    /* ldumaxb --> stumaxb.  */
-    case 1076: value = 1136; break;    /* ldumaxh --> stumaxh.  */
-    case 1077: value = 1137; break;    /* ldumax --> stumax.  */
-    case 1079: value = 1138; break;    /* ldumaxlb --> stumaxlb.  */
-    case 1082: value = 1139; break;    /* ldumaxlh --> stumaxlh.  */
-    case 1085: value = 1140; break;    /* ldumaxl --> stumaxl.  */
-    case 1087: value = 1141; break;    /* lduminb --> stuminb.  */
-    case 1088: value = 1142; break;    /* lduminh --> stuminh.  */
-    case 1089: value = 1143; break;    /* ldumin --> stumin.  */
-    case 1091: value = 1144; break;    /* lduminlb --> stuminlb.  */
-    case 1094: value = 1145; break;    /* lduminlh --> stuminlh.  */
-    case 1097: value = 1146; break;    /* lduminl --> stuminl.  */
-    case 1147: value = 1148; break;    /* movn --> mov.  */
-    case 1149: value = 1150; break;    /* movz --> mov.  */
-    case 1155: value = 1188; break;    /* hint --> autibsp.  */
-    case 1173: value = 1177; break;    /* sys --> tlbi.  */
-    case 1236: value = 1931; break;    /* and --> bic.  */
-    case 1238: value = 1219; break;    /* and --> mov.  */
-    case 1239: value = 1223; break;    /* ands --> movs.  */
-    case 1274: value = 1932; break;    /* cmpge --> cmple.  */
-    case 1277: value = 1935; break;    /* cmpgt --> cmplt.  */
-    case 1279: value = 1933; break;    /* cmphi --> cmplo.  */
-    case 1282: value = 1934; break;    /* cmphs --> cmpls.  */
-    case 1304: value = 1216; break;    /* cpy --> mov.  */
-    case 1305: value = 1218; break;    /* cpy --> mov.  */
-    case 1306: value = 1942; break;    /* cpy --> fmov.  */
-    case 1318: value = 1211; break;    /* dup --> mov.  */
-    case 1319: value = 1213; break;    /* dup --> mov.  */
-    case 1320: value = 1941; break;    /* dup --> fmov.  */
-    case 1321: value = 1214; break;    /* dupm --> mov.  */
-    case 1323: value = 1936; break;    /* eor --> eon.  */
-    case 1325: value = 1224; break;    /* eor --> not.  */
-    case 1326: value = 1225; break;    /* eors --> nots.  */
-    case 1331: value = 1937; break;    /* facge --> facle.  */
-    case 1332: value = 1938; break;    /* facgt --> faclt.  */
-    case 1341: value = 1939; break;    /* fcmge --> fcmle.  */
-    case 1343: value = 1940; break;    /* fcmgt --> fcmlt.  */
-    case 1349: value = 1208; break;    /* fcpy --> fmov.  */
-    case 1366: value = 1207; break;    /* fdup --> fmov.  */
-    case 1664: value = 1209; break;    /* orr --> mov.  */
-    case 1665: value = 1943; break;    /* orr --> orn.  */
-    case 1667: value = 1212; break;    /* orr --> mov.  */
-    case 1668: value = 1222; break;    /* orrs --> movs.  */
-    case 1724: value = 1217; break;    /* sel --> mov.  */
-    case 1725: value = 1220; break;    /* sel --> mov.  */
+    case 150: value = 151; break;      /* umov --> mov.  */
+    case 152: value = 153; break;      /* ins --> mov.  */
+    case 154: value = 155; break;      /* ins --> mov.  */
+    case 236: value = 237; break;      /* not --> mvn.  */
+    case 311: value = 312; break;      /* orr --> mov.  */
+    case 382: value = 383; break;      /* sshll --> sxtl.  */
+    case 384: value = 385; break;      /* sshll2 --> sxtl2.  */
+    case 406: value = 407; break;      /* ushll --> uxtl.  */
+    case 408: value = 409; break;      /* ushll2 --> uxtl2.  */
+    case 529: value = 530; break;      /* dup --> mov.  */
+    case 612: value = 617; break;      /* sbfm --> sxtw.  */
+    case 619: value = 621; break;      /* bfm --> bfc.  */
+    case 623: value = 627; break;      /* ubfm --> uxth.  */
+    case 657: value = 659; break;      /* csinc --> cset.  */
+    case 660: value = 662; break;      /* csinv --> csetm.  */
+    case 663: value = 664; break;      /* csneg --> cneg.  */
+    case 682: value = 682; break;      /* rev --> rev.  */
+    case 707: value = 708; break;      /* lslv --> lsl.  */
+    case 709: value = 710; break;      /* lsrv --> lsr.  */
+    case 711: value = 712; break;      /* asrv --> asr.  */
+    case 713: value = 714; break;      /* rorv --> ror.  */
+    case 724: value = 725; break;      /* madd --> mul.  */
+    case 726: value = 727; break;      /* msub --> mneg.  */
+    case 728: value = 729; break;      /* smaddl --> smull.  */
+    case 730: value = 731; break;      /* smsubl --> smnegl.  */
+    case 733: value = 734; break;      /* umaddl --> umull.  */
+    case 735: value = 736; break;      /* umsubl --> umnegl.  */
+    case 746: value = 747; break;      /* extr --> ror.  */
+    case 959: value = 960; break;      /* and --> bic.  */
+    case 961: value = 962; break;      /* orr --> mov.  */
+    case 964: value = 965; break;      /* ands --> tst.  */
+    case 968: value = 970; break;      /* orr --> uxtw.  */
+    case 971: value = 972; break;      /* orn --> mvn.  */
+    case 975: value = 976; break;      /* ands --> tst.  */
+    case 1006: value = 1102; break;    /* ldaddb --> staddb.  */
+    case 1007: value = 1103; break;    /* ldaddh --> staddh.  */
+    case 1008: value = 1104; break;    /* ldadd --> stadd.  */
+    case 1010: value = 1105; break;    /* ldaddlb --> staddlb.  */
+    case 1013: value = 1106; break;    /* ldaddlh --> staddlh.  */
+    case 1016: value = 1107; break;    /* ldaddl --> staddl.  */
+    case 1018: value = 1108; break;    /* ldclrb --> stclrb.  */
+    case 1019: value = 1109; break;    /* ldclrh --> stclrh.  */
+    case 1020: value = 1110; break;    /* ldclr --> stclr.  */
+    case 1022: value = 1111; break;    /* ldclrlb --> stclrlb.  */
+    case 1025: value = 1112; break;    /* ldclrlh --> stclrlh.  */
+    case 1028: value = 1113; break;    /* ldclrl --> stclrl.  */
+    case 1030: value = 1114; break;    /* ldeorb --> steorb.  */
+    case 1031: value = 1115; break;    /* ldeorh --> steorh.  */
+    case 1032: value = 1116; break;    /* ldeor --> steor.  */
+    case 1034: value = 1117; break;    /* ldeorlb --> steorlb.  */
+    case 1037: value = 1118; break;    /* ldeorlh --> steorlh.  */
+    case 1040: value = 1119; break;    /* ldeorl --> steorl.  */
+    case 1042: value = 1120; break;    /* ldsetb --> stsetb.  */
+    case 1043: value = 1121; break;    /* ldseth --> stseth.  */
+    case 1044: value = 1122; break;    /* ldset --> stset.  */
+    case 1046: value = 1123; break;    /* ldsetlb --> stsetlb.  */
+    case 1049: value = 1124; break;    /* ldsetlh --> stsetlh.  */
+    case 1052: value = 1125; break;    /* ldsetl --> stsetl.  */
+    case 1054: value = 1126; break;    /* ldsmaxb --> stsmaxb.  */
+    case 1055: value = 1127; break;    /* ldsmaxh --> stsmaxh.  */
+    case 1056: value = 1128; break;    /* ldsmax --> stsmax.  */
+    case 1058: value = 1129; break;    /* ldsmaxlb --> stsmaxlb.  */
+    case 1061: value = 1130; break;    /* ldsmaxlh --> stsmaxlh.  */
+    case 1064: value = 1131; break;    /* ldsmaxl --> stsmaxl.  */
+    case 1066: value = 1132; break;    /* ldsminb --> stsminb.  */
+    case 1067: value = 1133; break;    /* ldsminh --> stsminh.  */
+    case 1068: value = 1134; break;    /* ldsmin --> stsmin.  */
+    case 1070: value = 1135; break;    /* ldsminlb --> stsminlb.  */
+    case 1073: value = 1136; break;    /* ldsminlh --> stsminlh.  */
+    case 1076: value = 1137; break;    /* ldsminl --> stsminl.  */
+    case 1078: value = 1138; break;    /* ldumaxb --> stumaxb.  */
+    case 1079: value = 1139; break;    /* ldumaxh --> stumaxh.  */
+    case 1080: value = 1140; break;    /* ldumax --> stumax.  */
+    case 1082: value = 1141; break;    /* ldumaxlb --> stumaxlb.  */
+    case 1085: value = 1142; break;    /* ldumaxlh --> stumaxlh.  */
+    case 1088: value = 1143; break;    /* ldumaxl --> stumaxl.  */
+    case 1090: value = 1144; break;    /* lduminb --> stuminb.  */
+    case 1091: value = 1145; break;    /* lduminh --> stuminh.  */
+    case 1092: value = 1146; break;    /* ldumin --> stumin.  */
+    case 1094: value = 1147; break;    /* lduminlb --> stuminlb.  */
+    case 1097: value = 1148; break;    /* lduminlh --> stuminlh.  */
+    case 1100: value = 1149; break;    /* lduminl --> stuminl.  */
+    case 1150: value = 1151; break;    /* movn --> mov.  */
+    case 1152: value = 1153; break;    /* movz --> mov.  */
+    case 1158: value = 1191; break;    /* hint --> autibsp.  */
+    case 1176: value = 1180; break;    /* sys --> tlbi.  */
+    case 1239: value = 1973; break;    /* and --> bic.  */
+    case 1241: value = 1222; break;    /* and --> mov.  */
+    case 1242: value = 1226; break;    /* ands --> movs.  */
+    case 1277: value = 1974; break;    /* cmpge --> cmple.  */
+    case 1280: value = 1977; break;    /* cmpgt --> cmplt.  */
+    case 1282: value = 1975; break;    /* cmphi --> cmplo.  */
+    case 1285: value = 1976; break;    /* cmphs --> cmpls.  */
+    case 1307: value = 1219; break;    /* cpy --> mov.  */
+    case 1308: value = 1221; break;    /* cpy --> mov.  */
+    case 1309: value = 1984; break;    /* cpy --> fmov.  */
+    case 1321: value = 1214; break;    /* dup --> mov.  */
+    case 1322: value = 1216; break;    /* dup --> mov.  */
+    case 1323: value = 1983; break;    /* dup --> fmov.  */
+    case 1324: value = 1217; break;    /* dupm --> mov.  */
+    case 1326: value = 1978; break;    /* eor --> eon.  */
+    case 1328: value = 1227; break;    /* eor --> not.  */
+    case 1329: value = 1228; break;    /* eors --> nots.  */
+    case 1334: value = 1979; break;    /* facge --> facle.  */
+    case 1335: value = 1980; break;    /* facgt --> faclt.  */
+    case 1348: value = 1981; break;    /* fcmge --> fcmle.  */
+    case 1350: value = 1982; break;    /* fcmgt --> fcmlt.  */
+    case 1356: value = 1211; break;    /* fcpy --> fmov.  */
+    case 1379: value = 1210; break;    /* fdup --> fmov.  */
+    case 1694: value = 1212; break;    /* orr --> mov.  */
+    case 1695: value = 1985; break;    /* orr --> orn.  */
+    case 1697: value = 1215; break;    /* orr --> mov.  */
+    case 1698: value = 1225; break;    /* orrs --> movs.  */
+    case 1760: value = 1220; break;    /* sel --> mov.  */
+    case 1761: value = 1223; break;    /* sel --> mov.  */
     default: return NULL;
     }
 
@@ -18467,162 +18953,162 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode)
     case 23: value = 22; break;        /* neg --> sub.  */
     case 26: value = 25; break;        /* negs --> cmp.  */
     case 25: value = 24; break;        /* cmp --> subs.  */
-    case 150: value = 149; break;      /* mov --> umov.  */
-    case 152: value = 151; break;      /* mov --> ins.  */
-    case 154: value = 153; break;      /* mov --> ins.  */
-    case 236: value = 235; break;      /* mvn --> not.  */
-    case 311: value = 310; break;      /* mov --> orr.  */
-    case 380: value = 379; break;      /* sxtl --> sshll.  */
-    case 382: value = 381; break;      /* sxtl2 --> sshll2.  */
-    case 404: value = 403; break;      /* uxtl --> ushll.  */
-    case 406: value = 405; break;      /* uxtl2 --> ushll2.  */
-    case 527: value = 526; break;      /* mov --> dup.  */
-    case 614: value = 613; break;      /* sxtw --> sxth.  */
-    case 613: value = 612; break;      /* sxth --> sxtb.  */
-    case 612: value = 615; break;      /* sxtb --> asr.  */
-    case 615: value = 611; break;      /* asr --> sbfx.  */
-    case 611: value = 610; break;      /* sbfx --> sbfiz.  */
-    case 610: value = 609; break;      /* sbfiz --> sbfm.  */
-    case 618: value = 619; break;      /* bfc --> bfxil.  */
-    case 619: value = 617; break;      /* bfxil --> bfi.  */
-    case 617: value = 616; break;      /* bfi --> bfm.  */
-    case 624: value = 623; break;      /* uxth --> uxtb.  */
-    case 623: value = 626; break;      /* uxtb --> lsr.  */
-    case 626: value = 625; break;      /* lsr --> lsl.  */
-    case 625: value = 622; break;      /* lsl --> ubfx.  */
-    case 622: value = 621; break;      /* ubfx --> ubfiz.  */
-    case 621: value = 620; break;      /* ubfiz --> ubfm.  */
-    case 656: value = 655; break;      /* cset --> cinc.  */
-    case 655: value = 654; break;      /* cinc --> csinc.  */
-    case 659: value = 658; break;      /* csetm --> cinv.  */
-    case 658: value = 657; break;      /* cinv --> csinv.  */
-    case 661: value = 660; break;      /* cneg --> csneg.  */
-    case 679: value = 680; break;      /* rev --> rev64.  */
-    case 705: value = 704; break;      /* lsl --> lslv.  */
-    case 707: value = 706; break;      /* lsr --> lsrv.  */
-    case 709: value = 708; break;      /* asr --> asrv.  */
-    case 711: value = 710; break;      /* ror --> rorv.  */
-    case 722: value = 721; break;      /* mul --> madd.  */
-    case 724: value = 723; break;      /* mneg --> msub.  */
-    case 726: value = 725; break;      /* smull --> smaddl.  */
-    case 728: value = 727; break;      /* smnegl --> smsubl.  */
-    case 731: value = 730; break;      /* umull --> umaddl.  */
-    case 733: value = 732; break;      /* umnegl --> umsubl.  */
-    case 744: value = 743; break;      /* ror --> extr.  */
-    case 957: value = 956; break;      /* bic --> and.  */
-    case 959: value = 958; break;      /* mov --> orr.  */
-    case 962: value = 961; break;      /* tst --> ands.  */
-    case 967: value = 966; break;      /* uxtw --> mov.  */
-    case 966: value = 965; break;      /* mov --> orr.  */
-    case 969: value = 968; break;      /* mvn --> orn.  */
-    case 973: value = 972; break;      /* tst --> ands.  */
-    case 1099: value = 1003; break;    /* staddb --> ldaddb.  */
-    case 1100: value = 1004; break;    /* staddh --> ldaddh.  */
-    case 1101: value = 1005; break;    /* stadd --> ldadd.  */
-    case 1102: value = 1007; break;    /* staddlb --> ldaddlb.  */
-    case 1103: value = 1010; break;    /* staddlh --> ldaddlh.  */
-    case 1104: value = 1013; break;    /* staddl --> ldaddl.  */
-    case 1105: value = 1015; break;    /* stclrb --> ldclrb.  */
-    case 1106: value = 1016; break;    /* stclrh --> ldclrh.  */
-    case 1107: value = 1017; break;    /* stclr --> ldclr.  */
-    case 1108: value = 1019; break;    /* stclrlb --> ldclrlb.  */
-    case 1109: value = 1022; break;    /* stclrlh --> ldclrlh.  */
-    case 1110: value = 1025; break;    /* stclrl --> ldclrl.  */
-    case 1111: value = 1027; break;    /* steorb --> ldeorb.  */
-    case 1112: value = 1028; break;    /* steorh --> ldeorh.  */
-    case 1113: value = 1029; break;    /* steor --> ldeor.  */
-    case 1114: value = 1031; break;    /* steorlb --> ldeorlb.  */
-    case 1115: value = 1034; break;    /* steorlh --> ldeorlh.  */
-    case 1116: value = 1037; break;    /* steorl --> ldeorl.  */
-    case 1117: value = 1039; break;    /* stsetb --> ldsetb.  */
-    case 1118: value = 1040; break;    /* stseth --> ldseth.  */
-    case 1119: value = 1041; break;    /* stset --> ldset.  */
-    case 1120: value = 1043; break;    /* stsetlb --> ldsetlb.  */
-    case 1121: value = 1046; break;    /* stsetlh --> ldsetlh.  */
-    case 1122: value = 1049; break;    /* stsetl --> ldsetl.  */
-    case 1123: value = 1051; break;    /* stsmaxb --> ldsmaxb.  */
-    case 1124: value = 1052; break;    /* stsmaxh --> ldsmaxh.  */
-    case 1125: value = 1053; break;    /* stsmax --> ldsmax.  */
-    case 1126: value = 1055; break;    /* stsmaxlb --> ldsmaxlb.  */
-    case 1127: value = 1058; break;    /* stsmaxlh --> ldsmaxlh.  */
-    case 1128: value = 1061; break;    /* stsmaxl --> ldsmaxl.  */
-    case 1129: value = 1063; break;    /* stsminb --> ldsminb.  */
-    case 1130: value = 1064; break;    /* stsminh --> ldsminh.  */
-    case 1131: value = 1065; break;    /* stsmin --> ldsmin.  */
-    case 1132: value = 1067; break;    /* stsminlb --> ldsminlb.  */
-    case 1133: value = 1070; break;    /* stsminlh --> ldsminlh.  */
-    case 1134: value = 1073; break;    /* stsminl --> ldsminl.  */
-    case 1135: value = 1075; break;    /* stumaxb --> ldumaxb.  */
-    case 1136: value = 1076; break;    /* stumaxh --> ldumaxh.  */
-    case 1137: value = 1077; break;    /* stumax --> ldumax.  */
-    case 1138: value = 1079; break;    /* stumaxlb --> ldumaxlb.  */
-    case 1139: value = 1082; break;    /* stumaxlh --> ldumaxlh.  */
-    case 1140: value = 1085; break;    /* stumaxl --> ldumaxl.  */
-    case 1141: value = 1087; break;    /* stuminb --> lduminb.  */
-    case 1142: value = 1088; break;    /* stuminh --> lduminh.  */
-    case 1143: value = 1089; break;    /* stumin --> ldumin.  */
-    case 1144: value = 1091; break;    /* stuminlb --> lduminlb.  */
-    case 1145: value = 1094; break;    /* stuminlh --> lduminlh.  */
-    case 1146: value = 1097; break;    /* stuminl --> lduminl.  */
-    case 1148: value = 1147; break;    /* mov --> movn.  */
-    case 1150: value = 1149; break;    /* mov --> movz.  */
-    case 1188: value = 1187; break;    /* autibsp --> autibz.  */
-    case 1187: value = 1186; break;    /* autibz --> autiasp.  */
-    case 1186: value = 1185; break;    /* autiasp --> autiaz.  */
-    case 1185: value = 1184; break;    /* autiaz --> pacibsp.  */
-    case 1184: value = 1183; break;    /* pacibsp --> pacibz.  */
-    case 1183: value = 1182; break;    /* pacibz --> paciasp.  */
-    case 1182: value = 1181; break;    /* paciasp --> paciaz.  */
-    case 1181: value = 1168; break;    /* paciaz --> psb.  */
-    case 1168: value = 1167; break;    /* psb --> esb.  */
-    case 1167: value = 1166; break;    /* esb --> autib1716.  */
-    case 1166: value = 1165; break;    /* autib1716 --> autia1716.  */
-    case 1165: value = 1164; break;    /* autia1716 --> pacib1716.  */
-    case 1164: value = 1163; break;    /* pacib1716 --> pacia1716.  */
-    case 1163: value = 1162; break;    /* pacia1716 --> xpaclri.  */
-    case 1162: value = 1161; break;    /* xpaclri --> sevl.  */
-    case 1161: value = 1160; break;    /* sevl --> sev.  */
-    case 1160: value = 1159; break;    /* sev --> wfi.  */
-    case 1159: value = 1158; break;    /* wfi --> wfe.  */
-    case 1158: value = 1157; break;    /* wfe --> yield.  */
-    case 1157: value = 1156; break;    /* yield --> nop.  */
-    case 1156: value = 1155; break;    /* nop --> hint.  */
-    case 1177: value = 1176; break;    /* tlbi --> ic.  */
-    case 1176: value = 1175; break;    /* ic --> dc.  */
-    case 1175: value = 1174; break;    /* dc --> at.  */
-    case 1174: value = 1173; break;    /* at --> sys.  */
-    case 1931: value = 1236; break;    /* bic --> and.  */
-    case 1219: value = 1238; break;    /* mov --> and.  */
-    case 1223: value = 1239; break;    /* movs --> ands.  */
-    case 1932: value = 1274; break;    /* cmple --> cmpge.  */
-    case 1935: value = 1277; break;    /* cmplt --> cmpgt.  */
-    case 1933: value = 1279; break;    /* cmplo --> cmphi.  */
-    case 1934: value = 1282; break;    /* cmpls --> cmphs.  */
-    case 1216: value = 1304; break;    /* mov --> cpy.  */
-    case 1218: value = 1305; break;    /* mov --> cpy.  */
-    case 1942: value = 1221; break;    /* fmov --> mov.  */
-    case 1221: value = 1306; break;    /* mov --> cpy.  */
-    case 1211: value = 1318; break;    /* mov --> dup.  */
-    case 1213: value = 1210; break;    /* mov --> mov.  */
-    case 1210: value = 1319; break;    /* mov --> dup.  */
-    case 1941: value = 1215; break;    /* fmov --> mov.  */
-    case 1215: value = 1320; break;    /* mov --> dup.  */
-    case 1214: value = 1321; break;    /* mov --> dupm.  */
-    case 1936: value = 1323; break;    /* eon --> eor.  */
-    case 1224: value = 1325; break;    /* not --> eor.  */
-    case 1225: value = 1326; break;    /* nots --> eors.  */
-    case 1937: value = 1331; break;    /* facle --> facge.  */
-    case 1938: value = 1332; break;    /* faclt --> facgt.  */
-    case 1939: value = 1341; break;    /* fcmle --> fcmge.  */
-    case 1940: value = 1343; break;    /* fcmlt --> fcmgt.  */
-    case 1208: value = 1349; break;    /* fmov --> fcpy.  */
-    case 1207: value = 1366; break;    /* fmov --> fdup.  */
-    case 1209: value = 1664; break;    /* mov --> orr.  */
-    case 1943: value = 1665; break;    /* orn --> orr.  */
-    case 1212: value = 1667; break;    /* mov --> orr.  */
-    case 1222: value = 1668; break;    /* movs --> orrs.  */
-    case 1217: value = 1724; break;    /* mov --> sel.  */
-    case 1220: value = 1725; break;    /* mov --> sel.  */
+    case 151: value = 150; break;      /* mov --> umov.  */
+    case 153: value = 152; break;      /* mov --> ins.  */
+    case 155: value = 154; break;      /* mov --> ins.  */
+    case 237: value = 236; break;      /* mvn --> not.  */
+    case 312: value = 311; break;      /* mov --> orr.  */
+    case 383: value = 382; break;      /* sxtl --> sshll.  */
+    case 385: value = 384; break;      /* sxtl2 --> sshll2.  */
+    case 407: value = 406; break;      /* uxtl --> ushll.  */
+    case 409: value = 408; break;      /* uxtl2 --> ushll2.  */
+    case 530: value = 529; break;      /* mov --> dup.  */
+    case 617: value = 616; break;      /* sxtw --> sxth.  */
+    case 616: value = 615; break;      /* sxth --> sxtb.  */
+    case 615: value = 618; break;      /* sxtb --> asr.  */
+    case 618: value = 614; break;      /* asr --> sbfx.  */
+    case 614: value = 613; break;      /* sbfx --> sbfiz.  */
+    case 613: value = 612; break;      /* sbfiz --> sbfm.  */
+    case 621: value = 622; break;      /* bfc --> bfxil.  */
+    case 622: value = 620; break;      /* bfxil --> bfi.  */
+    case 620: value = 619; break;      /* bfi --> bfm.  */
+    case 627: value = 626; break;      /* uxth --> uxtb.  */
+    case 626: value = 629; break;      /* uxtb --> lsr.  */
+    case 629: value = 628; break;      /* lsr --> lsl.  */
+    case 628: value = 625; break;      /* lsl --> ubfx.  */
+    case 625: value = 624; break;      /* ubfx --> ubfiz.  */
+    case 624: value = 623; break;      /* ubfiz --> ubfm.  */
+    case 659: value = 658; break;      /* cset --> cinc.  */
+    case 658: value = 657; break;      /* cinc --> csinc.  */
+    case 662: value = 661; break;      /* csetm --> cinv.  */
+    case 661: value = 660; break;      /* cinv --> csinv.  */
+    case 664: value = 663; break;      /* cneg --> csneg.  */
+    case 682: value = 683; break;      /* rev --> rev64.  */
+    case 708: value = 707; break;      /* lsl --> lslv.  */
+    case 710: value = 709; break;      /* lsr --> lsrv.  */
+    case 712: value = 711; break;      /* asr --> asrv.  */
+    case 714: value = 713; break;      /* ror --> rorv.  */
+    case 725: value = 724; break;      /* mul --> madd.  */
+    case 727: value = 726; break;      /* mneg --> msub.  */
+    case 729: value = 728; break;      /* smull --> smaddl.  */
+    case 731: value = 730; break;      /* smnegl --> smsubl.  */
+    case 734: value = 733; break;      /* umull --> umaddl.  */
+    case 736: value = 735; break;      /* umnegl --> umsubl.  */
+    case 747: value = 746; break;      /* ror --> extr.  */
+    case 960: value = 959; break;      /* bic --> and.  */
+    case 962: value = 961; break;      /* mov --> orr.  */
+    case 965: value = 964; break;      /* tst --> ands.  */
+    case 970: value = 969; break;      /* uxtw --> mov.  */
+    case 969: value = 968; break;      /* mov --> orr.  */
+    case 972: value = 971; break;      /* mvn --> orn.  */
+    case 976: value = 975; break;      /* tst --> ands.  */
+    case 1102: value = 1006; break;    /* staddb --> ldaddb.  */
+    case 1103: value = 1007; break;    /* staddh --> ldaddh.  */
+    case 1104: value = 1008; break;    /* stadd --> ldadd.  */
+    case 1105: value = 1010; break;    /* staddlb --> ldaddlb.  */
+    case 1106: value = 1013; break;    /* staddlh --> ldaddlh.  */
+    case 1107: value = 1016; break;    /* staddl --> ldaddl.  */
+    case 1108: value = 1018; break;    /* stclrb --> ldclrb.  */
+    case 1109: value = 1019; break;    /* stclrh --> ldclrh.  */
+    case 1110: value = 1020; break;    /* stclr --> ldclr.  */
+    case 1111: value = 1022; break;    /* stclrlb --> ldclrlb.  */
+    case 1112: value = 1025; break;    /* stclrlh --> ldclrlh.  */
+    case 1113: value = 1028; break;    /* stclrl --> ldclrl.  */
+    case 1114: value = 1030; break;    /* steorb --> ldeorb.  */
+    case 1115: value = 1031; break;    /* steorh --> ldeorh.  */
+    case 1116: value = 1032; break;    /* steor --> ldeor.  */
+    case 1117: value = 1034; break;    /* steorlb --> ldeorlb.  */
+    case 1118: value = 1037; break;    /* steorlh --> ldeorlh.  */
+    case 1119: value = 1040; break;    /* steorl --> ldeorl.  */
+    case 1120: value = 1042; break;    /* stsetb --> ldsetb.  */
+    case 1121: value = 1043; break;    /* stseth --> ldseth.  */
+    case 1122: value = 1044; break;    /* stset --> ldset.  */
+    case 1123: value = 1046; break;    /* stsetlb --> ldsetlb.  */
+    case 1124: value = 1049; break;    /* stsetlh --> ldsetlh.  */
+    case 1125: value = 1052; break;    /* stsetl --> ldsetl.  */
+    case 1126: value = 1054; break;    /* stsmaxb --> ldsmaxb.  */
+    case 1127: value = 1055; break;    /* stsmaxh --> ldsmaxh.  */
+    case 1128: value = 1056; break;    /* stsmax --> ldsmax.  */
+    case 1129: value = 1058; break;    /* stsmaxlb --> ldsmaxlb.  */
+    case 1130: value = 1061; break;    /* stsmaxlh --> ldsmaxlh.  */
+    case 1131: value = 1064; break;    /* stsmaxl --> ldsmaxl.  */
+    case 1132: value = 1066; break;    /* stsminb --> ldsminb.  */
+    case 1133: value = 1067; break;    /* stsminh --> ldsminh.  */
+    case 1134: value = 1068; break;    /* stsmin --> ldsmin.  */
+    case 1135: value = 1070; break;    /* stsminlb --> ldsminlb.  */
+    case 1136: value = 1073; break;    /* stsminlh --> ldsminlh.  */
+    case 1137: value = 1076; break;    /* stsminl --> ldsminl.  */
+    case 1138: value = 1078; break;    /* stumaxb --> ldumaxb.  */
+    case 1139: value = 1079; break;    /* stumaxh --> ldumaxh.  */
+    case 1140: value = 1080; break;    /* stumax --> ldumax.  */
+    case 1141: value = 1082; break;    /* stumaxlb --> ldumaxlb.  */
+    case 1142: value = 1085; break;    /* stumaxlh --> ldumaxlh.  */
+    case 1143: value = 1088; break;    /* stumaxl --> ldumaxl.  */
+    case 1144: value = 1090; break;    /* stuminb --> lduminb.  */
+    case 1145: value = 1091; break;    /* stuminh --> lduminh.  */
+    case 1146: value = 1092; break;    /* stumin --> ldumin.  */
+    case 1147: value = 1094; break;    /* stuminlb --> lduminlb.  */
+    case 1148: value = 1097; break;    /* stuminlh --> lduminlh.  */
+    case 1149: value = 1100; break;    /* stuminl --> lduminl.  */
+    case 1151: value = 1150; break;    /* mov --> movn.  */
+    case 1153: value = 1152; break;    /* mov --> movz.  */
+    case 1191: value = 1190; break;    /* autibsp --> autibz.  */
+    case 1190: value = 1189; break;    /* autibz --> autiasp.  */
+    case 1189: value = 1188; break;    /* autiasp --> autiaz.  */
+    case 1188: value = 1187; break;    /* autiaz --> pacibsp.  */
+    case 1187: value = 1186; break;    /* pacibsp --> pacibz.  */
+    case 1186: value = 1185; break;    /* pacibz --> paciasp.  */
+    case 1185: value = 1184; break;    /* paciasp --> paciaz.  */
+    case 1184: value = 1171; break;    /* paciaz --> psb.  */
+    case 1171: value = 1170; break;    /* psb --> esb.  */
+    case 1170: value = 1169; break;    /* esb --> autib1716.  */
+    case 1169: value = 1168; break;    /* autib1716 --> autia1716.  */
+    case 1168: value = 1167; break;    /* autia1716 --> pacib1716.  */
+    case 1167: value = 1166; break;    /* pacib1716 --> pacia1716.  */
+    case 1166: value = 1165; break;    /* pacia1716 --> xpaclri.  */
+    case 1165: value = 1164; break;    /* xpaclri --> sevl.  */
+    case 1164: value = 1163; break;    /* sevl --> sev.  */
+    case 1163: value = 1162; break;    /* sev --> wfi.  */
+    case 1162: value = 1161; break;    /* wfi --> wfe.  */
+    case 1161: value = 1160; break;    /* wfe --> yield.  */
+    case 1160: value = 1159; break;    /* yield --> nop.  */
+    case 1159: value = 1158; break;    /* nop --> hint.  */
+    case 1180: value = 1179; break;    /* tlbi --> ic.  */
+    case 1179: value = 1178; break;    /* ic --> dc.  */
+    case 1178: value = 1177; break;    /* dc --> at.  */
+    case 1177: value = 1176; break;    /* at --> sys.  */
+    case 1973: value = 1239; break;    /* bic --> and.  */
+    case 1222: value = 1241; break;    /* mov --> and.  */
+    case 1226: value = 1242; break;    /* movs --> ands.  */
+    case 1974: value = 1277; break;    /* cmple --> cmpge.  */
+    case 1977: value = 1280; break;    /* cmplt --> cmpgt.  */
+    case 1975: value = 1282; break;    /* cmplo --> cmphi.  */
+    case 1976: value = 1285; break;    /* cmpls --> cmphs.  */
+    case 1219: value = 1307; break;    /* mov --> cpy.  */
+    case 1221: value = 1308; break;    /* mov --> cpy.  */
+    case 1984: value = 1224; break;    /* fmov --> mov.  */
+    case 1224: value = 1309; break;    /* mov --> cpy.  */
+    case 1214: value = 1321; break;    /* mov --> dup.  */
+    case 1216: value = 1213; break;    /* mov --> mov.  */
+    case 1213: value = 1322; break;    /* mov --> dup.  */
+    case 1983: value = 1218; break;    /* fmov --> mov.  */
+    case 1218: value = 1323; break;    /* mov --> dup.  */
+    case 1217: value = 1324; break;    /* mov --> dupm.  */
+    case 1978: value = 1326; break;    /* eon --> eor.  */
+    case 1227: value = 1328; break;    /* not --> eor.  */
+    case 1228: value = 1329; break;    /* nots --> eors.  */
+    case 1979: value = 1334; break;    /* facle --> facge.  */
+    case 1980: value = 1335; break;    /* faclt --> facgt.  */
+    case 1981: value = 1348; break;    /* fcmle --> fcmge.  */
+    case 1982: value = 1350; break;    /* fcmlt --> fcmgt.  */
+    case 1211: value = 1356; break;    /* fmov --> fcpy.  */
+    case 1210: value = 1379; break;    /* fmov --> fdup.  */
+    case 1212: value = 1694; break;    /* mov --> orr.  */
+    case 1985: value = 1695; break;    /* orn --> orr.  */
+    case 1215: value = 1697; break;    /* mov --> orr.  */
+    case 1225: value = 1698; break;    /* movs --> orrs.  */
+    case 1220: value = 1760; break;    /* mov --> sel.  */
+    case 1223: value = 1761; break;    /* mov --> sel.  */
     default: return NULL;
     }
 
@@ -18661,29 +19147,27 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 26:
     case 27:
     case 28:
-    case 36:
-    case 37:
-    case 141:
-    case 142:
-    case 143:
-    case 144:
-    case 145:
-    case 146:
     case 147:
     case 148:
     case 149:
     case 150:
-    case 163:
-    case 164:
-    case 165:
-    case 166:
-    case 167:
-    case 168:
+    case 151:
+    case 152:
+    case 153:
+    case 154:
+    case 155:
+    case 156:
     case 169:
     case 170:
     case 171:
     case 172:
+    case 173:
+    case 174:
     case 175:
+    case 176:
+    case 177:
+    case 181:
+    case 184:
       return aarch64_ext_regno (self, info, code, inst);
     case 8:
       return aarch64_ext_regrt_sysins (self, info, code, inst);
@@ -18707,6 +19191,8 @@ aarch64_extract_operand (const aarch64_operand *self,
       return aarch64_ext_ldst_reglist_r (self, info, code, inst);
     case 35:
       return aarch64_ext_ldst_elemlist (self, info, code, inst);
+    case 36:
+    case 37:
     case 38:
     case 48:
     case 49:
@@ -18721,21 +19207,21 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 58:
     case 59:
     case 60:
-    case 68:
-    case 69:
-    case 70:
     case 71:
     case 72:
-    case 138:
-    case 140:
-    case 155:
-    case 156:
-    case 157:
-    case 158:
-    case 159:
-    case 160:
+    case 73:
+    case 74:
+    case 75:
+    case 144:
+    case 146:
     case 161:
     case 162:
+    case 163:
+    case 164:
+    case 165:
+    case 166:
+    case 167:
+    case 168:
       return aarch64_ext_imm (self, info, code, inst);
     case 39:
     case 40:
@@ -18747,10 +19233,10 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 44:
       return aarch64_ext_shll_imm (self, info, code, inst);
     case 47:
-    case 131:
+    case 135:
       return aarch64_ext_fpimm (self, info, code, inst);
     case 61:
-    case 136:
+    case 142:
       return aarch64_ext_limm (self, info, code, inst);
     case 62:
       return aarch64_ext_aimm (self, info, code, inst);
@@ -18760,56 +19246,61 @@ aarch64_extract_operand (const aarch64_operand *self,
       return aarch64_ext_fbits (self, info, code, inst);
     case 66:
     case 67:
+    case 140:
+      return aarch64_ext_imm_rotate2 (self, info, code, inst);
+    case 68:
+    case 139:
+      return aarch64_ext_imm_rotate1 (self, info, code, inst);
+    case 69:
+    case 70:
       return aarch64_ext_cond (self, info, code, inst);
-    case 73:
-    case 80:
-      return aarch64_ext_addr_simple (self, info, code, inst);
-    case 74:
-      return aarch64_ext_addr_regoff (self, info, code, inst);
-    case 75:
     case 76:
+    case 83:
+      return aarch64_ext_addr_simple (self, info, code, inst);
     case 77:
-      return aarch64_ext_addr_simm (self, info, code, inst);
+      return aarch64_ext_addr_regoff (self, info, code, inst);
     case 78:
-      return aarch64_ext_addr_simm10 (self, info, code, inst);
     case 79:
-      return aarch64_ext_addr_uimm12 (self, info, code, inst);
+    case 80:
+      return aarch64_ext_addr_simm (self, info, code, inst);
     case 81:
-      return aarch64_ext_simd_addr_post (self, info, code, inst);
+      return aarch64_ext_addr_simm10 (self, info, code, inst);
     case 82:
-      return aarch64_ext_sysreg (self, info, code, inst);
-    case 83:
-      return aarch64_ext_pstatefield (self, info, code, inst);
+      return aarch64_ext_addr_uimm12 (self, info, code, inst);
     case 84:
+      return aarch64_ext_simd_addr_post (self, info, code, inst);
     case 85:
+      return aarch64_ext_sysreg (self, info, code, inst);
     case 86:
+      return aarch64_ext_pstatefield (self, info, code, inst);
     case 87:
-      return aarch64_ext_sysins_op (self, info, code, inst);
     case 88:
     case 89:
-      return aarch64_ext_barrier (self, info, code, inst);
     case 90:
-      return aarch64_ext_prfop (self, info, code, inst);
+      return aarch64_ext_sysins_op (self, info, code, inst);
     case 91:
-      return aarch64_ext_hint (self, info, code, inst);
     case 92:
+      return aarch64_ext_barrier (self, info, code, inst);
     case 93:
+      return aarch64_ext_prfop (self, info, code, inst);
     case 94:
+      return aarch64_ext_hint (self, info, code, inst);
     case 95:
-      return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst);
+      return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst);
     case 96:
-      return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst);
     case 97:
-      return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst);
     case 98:
     case 99:
+      return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst);
     case 100:
+      return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst);
     case 101:
-      return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst);
+      return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst);
     case 102:
     case 103:
     case 104:
     case 105:
+      return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst);
     case 106:
     case 107:
     case 108:
@@ -18818,53 +19309,61 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 111:
     case 112:
     case 113:
-      return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst);
     case 114:
     case 115:
     case 116:
     case 117:
+      return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst);
     case 118:
     case 119:
     case 120:
     case 121:
-      return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst);
     case 122:
     case 123:
     case 124:
     case 125:
-      return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst);
+      return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst);
     case 126:
-      return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst);
     case 127:
-      return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst);
     case 128:
-      return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst);
     case 129:
-      return aarch64_ext_sve_aimm (self, info, code, inst);
+      return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst);
     case 130:
-      return aarch64_ext_sve_asimm (self, info, code, inst);
+      return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst);
+    case 131:
+      return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst);
     case 132:
-      return aarch64_ext_sve_float_half_one (self, info, code, inst);
+      return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst);
     case 133:
-      return aarch64_ext_sve_float_half_two (self, info, code, inst);
+      return aarch64_ext_sve_aimm (self, info, code, inst);
     case 134:
+      return aarch64_ext_sve_asimm (self, info, code, inst);
+    case 136:
+      return aarch64_ext_sve_float_half_one (self, info, code, inst);
+    case 137:
+      return aarch64_ext_sve_float_half_two (self, info, code, inst);
+    case 138:
       return aarch64_ext_sve_float_zero_one (self, info, code, inst);
-    case 135:
+    case 141:
       return aarch64_ext_inv_limm (self, info, code, inst);
-    case 137:
+    case 143:
       return aarch64_ext_sve_limm_mov (self, info, code, inst);
-    case 139:
+    case 145:
       return aarch64_ext_sve_scale (self, info, code, inst);
-    case 151:
-    case 152:
+    case 157:
+    case 158:
       return aarch64_ext_sve_shlimm (self, info, code, inst);
-    case 153:
-    case 154:
+    case 159:
+    case 160:
       return aarch64_ext_sve_shrimm (self, info, code, inst);
-    case 173:
+    case 178:
+    case 179:
+    case 180:
+      return aarch64_ext_sve_quad_index (self, info, code, inst);
+    case 182:
       return aarch64_ext_sve_index (self, info, code, inst);
-    case 174:
-    case 176:
+    case 183:
+    case 185:
       return aarch64_ext_sve_reglist (self, info, code, inst);
     default: assert (0); abort ();
     }
This page took 0.375645 seconds and 4 git commands to generate.