Adds the new Fields and Operand types for the new instructions in Armv8.4-a.
[external/binutils.git] / opcodes / aarch64-dis-2.c
index ffae39e..8e05892 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.
@@ -38,7 +38,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                     {
                       /* 33222222222211111111110000000000
                          10987654321098765432109876543210
-                         xxxxxxxxxxxxxxxxxxxxxxxx0000xxx0
+                         0xxx0000xxxxxxxxxxxxxxxxxxxxxxxx
                          adr.  */
                       return 1155;
                     }
@@ -46,7 +46,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                     {
                       /* 33222222222211111111110000000000
                          10987654321098765432109876543210
-                         xxxxxxxxxxxxxxxxxxxxxxxx0000xxx1
+                         1xxx0000xxxxxxxxxxxxxxxxxxxxxxxx
                          adrp.  */
                       return 1156;
                     }
@@ -59,7 +59,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           /* 33222222222211111111110000000000
                              10987654321098765432109876543210
-                             xxxxxxxxxxxxxxxxxxxxxxxx1000x00x
+                             x00x0001xxxxxxxxxxxxxxxxxxxxxxxx
                              add.  */
                           return 12;
                         }
@@ -67,7 +67,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           /* 33222222222211111111110000000000
                              10987654321098765432109876543210
-                             xxxxxxxxxxxxxxxxxxxxxxxx1000x01x
+                             x10x0001xxxxxxxxxxxxxxxxxxxxxxxx
                              sub.  */
                           return 16;
                         }
@@ -78,7 +78,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           /* 33222222222211111111110000000000
                              10987654321098765432109876543210
-                             xxxxxxxxxxxxxxxxxxxxxxxx1000x10x
+                             x01x0001xxxxxxxxxxxxxxxxxxxxxxxx
                              adds.  */
                           return 14;
                         }
@@ -86,7 +86,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           /* 33222222222211111111110000000000
                              10987654321098765432109876543210
-                             xxxxxxxxxxxxxxxxxxxxxxxx1000x11x
+                             x11x0001xxxxxxxxxxxxxxxxxxxxxxxx
                              subs.  */
                           return 17;
                         }
@@ -113,7 +113,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx0xxxxx000x0010000
+                                                 0000100x000xxxxx0xxxxxxxxxxxxxxx
                                                  stxrb.  */
                                               return 910;
                                             }
@@ -121,7 +121,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx0xxxxx000x0010010
+                                                 0100100x000xxxxx0xxxxxxxxxxxxxxx
                                                  stxrh.  */
                                               return 916;
                                             }
@@ -130,7 +130,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx0xxxxx000x00100x1
+                                             1x00100x000xxxxx0xxxxxxxxxxxxxxx
                                              stxr.  */
                                           return 922;
                                         }
@@ -141,7 +141,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx0xxxxx100x00100x0
+                                             0x00100x001xxxxx0xxxxxxxxxxxxxxx
                                              casp.  */
                                           return 990;
                                         }
@@ -149,7 +149,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx0xxxxx100x00100x1
+                                             1x00100x001xxxxx0xxxxxxxxxxxxxxx
                                              stxp.  */
                                           return 924;
                                         }
@@ -165,7 +165,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx1xxxxx000x0010000
+                                                 0000100x000xxxxx1xxxxxxxxxxxxxxx
                                                  stlxrb.  */
                                               return 911;
                                             }
@@ -173,7 +173,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx1xxxxx000x0010010
+                                                 0100100x000xxxxx1xxxxxxxxxxxxxxx
                                                  stlxrh.  */
                                               return 917;
                                             }
@@ -182,7 +182,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx1xxxxx000x00100x1
+                                             1x00100x000xxxxx1xxxxxxxxxxxxxxx
                                              stlxr.  */
                                           return 923;
                                         }
@@ -193,7 +193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx1xxxxx100x00100x0
+                                             0x00100x001xxxxx1xxxxxxxxxxxxxxx
                                              caspl.  */
                                           return 992;
                                         }
@@ -201,7 +201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx1xxxxx100x00100x1
+                                             1x00100x001xxxxx1xxxxxxxxxxxxxxx
                                              stlxp.  */
                                           return 925;
                                         }
@@ -212,7 +212,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxxx00x00101xx
+                                 xx10100x00xxxxxxxxxxxxxxxxxxxxxx
                                  stnp.  */
                               return 941;
                             }
@@ -229,7 +229,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx0xxxxx001x00100x0
+                                             0x00100x100xxxxx0xxxxxxxxxxxxxxx
                                              stllrb.  */
                                           return 939;
                                         }
@@ -237,7 +237,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx0xxxxx001x00100x1
+                                             1x00100x100xxxxx0xxxxxxxxxxxxxxx
                                              stllr.  */
                                           return 938;
                                         }
@@ -250,7 +250,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx0xxxxx101x0010000
+                                                 0000100x101xxxxx0xxxxxxxxxxxxxxx
                                                  casb.  */
                                               return 978;
                                             }
@@ -258,7 +258,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx0xxxxx101x0010010
+                                                 0100100x101xxxxx0xxxxxxxxxxxxxxx
                                                  cash.  */
                                               return 979;
                                             }
@@ -267,7 +267,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx0xxxxx101x00100x1
+                                             1x00100x101xxxxx0xxxxxxxxxxxxxxx
                                              cas.  */
                                           return 980;
                                         }
@@ -283,7 +283,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx1xxxxx001x0010000
+                                                 0000100x100xxxxx1xxxxxxxxxxxxxxx
                                                  stlrb.  */
                                               return 914;
                                             }
@@ -291,7 +291,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx1xxxxx001x0010010
+                                                 0100100x100xxxxx1xxxxxxxxxxxxxxx
                                                  stlrh.  */
                                               return 920;
                                             }
@@ -300,7 +300,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx1xxxxx001x00100x1
+                                             1x00100x100xxxxx1xxxxxxxxxxxxxxx
                                              stlr.  */
                                           return 930;
                                         }
@@ -313,7 +313,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx1xxxxx101x0010000
+                                                 0000100x101xxxxx1xxxxxxxxxxxxxxx
                                                  caslb.  */
                                               return 982;
                                             }
@@ -321,7 +321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx1xxxxx101x0010010
+                                                 0100100x101xxxxx1xxxxxxxxxxxxxxx
                                                  caslh.  */
                                               return 985;
                                             }
@@ -330,7 +330,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx1xxxxx101x00100x1
+                                             1x00100x101xxxxx1xxxxxxxxxxxxxxx
                                              casl.  */
                                           return 988;
                                         }
@@ -341,7 +341,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxxx01x00101xx
+                                 xx10100x10xxxxxxxxxxxxxxxxxxxxxx
                                  stp.  */
                               return 950;
                             }
@@ -363,7 +363,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx0xxxxx010x0010000
+                                                 0000100x010xxxxx0xxxxxxxxxxxxxxx
                                                  ldxrb.  */
                                               return 912;
                                             }
@@ -371,7 +371,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx0xxxxx010x0010010
+                                                 0100100x010xxxxx0xxxxxxxxxxxxxxx
                                                  ldxrh.  */
                                               return 918;
                                             }
@@ -380,7 +380,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx0xxxxx010x00100x1
+                                             1x00100x010xxxxx0xxxxxxxxxxxxxxx
                                              ldxr.  */
                                           return 926;
                                         }
@@ -391,7 +391,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx0xxxxx110x00100x0
+                                             0x00100x011xxxxx0xxxxxxxxxxxxxxx
                                              caspa.  */
                                           return 991;
                                         }
@@ -399,7 +399,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx0xxxxx110x00100x1
+                                             1x00100x011xxxxx0xxxxxxxxxxxxxxx
                                              ldxp.  */
                                           return 928;
                                         }
@@ -415,7 +415,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx1xxxxx010x0010000
+                                                 0000100x010xxxxx1xxxxxxxxxxxxxxx
                                                  ldaxrb.  */
                                               return 913;
                                             }
@@ -423,7 +423,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx1xxxxx010x0010010
+                                                 0100100x010xxxxx1xxxxxxxxxxxxxxx
                                                  ldaxrh.  */
                                               return 919;
                                             }
@@ -432,7 +432,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx1xxxxx010x00100x1
+                                             1x00100x010xxxxx1xxxxxxxxxxxxxxx
                                              ldaxr.  */
                                           return 927;
                                         }
@@ -443,7 +443,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx1xxxxx110x00100x0
+                                             0x00100x011xxxxx1xxxxxxxxxxxxxxx
                                              caspal.  */
                                           return 993;
                                         }
@@ -451,7 +451,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx1xxxxx110x00100x1
+                                             1x00100x011xxxxx1xxxxxxxxxxxxxxx
                                              ldaxp.  */
                                           return 929;
                                         }
@@ -464,7 +464,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxx10x001010x
+                                     x010100x01xxxxxxxxxxxxxxxxxxxxxx
                                      ldnp.  */
                                   return 942;
                                 }
@@ -472,7 +472,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxx10x001011x
+                                     x110100x01xxxxxxxxxxxxxxxxxxxxxx
                                      ldpsw.  */
                                   return 949;
                                 }
@@ -492,7 +492,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx0xxxxx011x0010000
+                                                 0000100x110xxxxx0xxxxxxxxxxxxxxx
                                                  ldlarb.  */
                                               return 936;
                                             }
@@ -500,7 +500,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx0xxxxx011x0010010
+                                                 0100100x110xxxxx0xxxxxxxxxxxxxxx
                                                  ldlarh.  */
                                               return 937;
                                             }
@@ -509,7 +509,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx0xxxxx011x00100x1
+                                             1x00100x110xxxxx0xxxxxxxxxxxxxxx
                                              ldlar.  */
                                           return 935;
                                         }
@@ -522,7 +522,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx0xxxxx111x0010000
+                                                 0000100x111xxxxx0xxxxxxxxxxxxxxx
                                                  casab.  */
                                               return 981;
                                             }
@@ -530,7 +530,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx0xxxxx111x0010010
+                                                 0100100x111xxxxx0xxxxxxxxxxxxxxx
                                                  casah.  */
                                               return 984;
                                             }
@@ -539,7 +539,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx0xxxxx111x00100x1
+                                             1x00100x111xxxxx0xxxxxxxxxxxxxxx
                                              casa.  */
                                           return 987;
                                         }
@@ -555,7 +555,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx1xxxxx011x0010000
+                                                 0000100x110xxxxx1xxxxxxxxxxxxxxx
                                                  ldarb.  */
                                               return 915;
                                             }
@@ -563,7 +563,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx1xxxxx011x0010010
+                                                 0100100x110xxxxx1xxxxxxxxxxxxxxx
                                                  ldarh.  */
                                               return 921;
                                             }
@@ -572,7 +572,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx1xxxxx011x00100x1
+                                             1x00100x110xxxxx1xxxxxxxxxxxxxxx
                                              ldar.  */
                                           return 931;
                                         }
@@ -585,7 +585,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx1xxxxx111x0010000
+                                                 0000100x111xxxxx1xxxxxxxxxxxxxxx
                                                  casalb.  */
                                               return 983;
                                             }
@@ -593,7 +593,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxx1xxxxx111x0010010
+                                                 0100100x111xxxxx1xxxxxxxxxxxxxxx
                                                  casalh.  */
                                               return 986;
                                             }
@@ -602,7 +602,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx1xxxxx111x00100x1
+                                             1x00100x111xxxxx1xxxxxxxxxxxxxxx
                                              casal.  */
                                           return 989;
                                         }
@@ -615,7 +615,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxx11x001010x
+                                     x010100x11xxxxxxxxxxxxxxxxxxxxxx
                                      ldp.  */
                                   return 951;
                                 }
@@ -623,7 +623,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxx11x001011x
+                                     x110100x11xxxxxxxxxxxxxxxxxxxxxx
                                      ldpsw.  */
                                   return 954;
                                 }
@@ -641,7 +641,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxxxxx000110x0
+                                 0x011000xxxxxxxxxxxxxxxxxxxxxxxx
                                  ldr.  */
                               return 955;
                             }
@@ -651,7 +651,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxxxx00011001
+                                     10011000xxxxxxxxxxxxxxxxxxxxxxxx
                                      ldrsw.  */
                                   return 957;
                                 }
@@ -659,7 +659,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxxxx00011011
+                                     11011000xxxxxxxxxxxxxxxxxxxxxxxx
                                      prfm.  */
                                   return 958;
                                 }
@@ -683,7 +683,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx00xxxxxxxxx00000011100
+                                                         00111000000xxxxxxxxx00xxxxxxxxxx
                                                          sturb.  */
                                                       return 896;
                                                     }
@@ -691,7 +691,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx00xxxxxxxxx00000011110
+                                                         01111000000xxxxxxxxx00xxxxxxxxxx
                                                          sturh.  */
                                                       return 901;
                                                     }
@@ -700,7 +700,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx00xxxxxxxxx000000111x1
+                                                     1x111000000xxxxxxxxx00xxxxxxxxxx
                                                      stur.  */
                                                   return 904;
                                                 }
@@ -713,7 +713,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx00xxxxxxxxx01000011100
+                                                         00111000010xxxxxxxxx00xxxxxxxxxx
                                                          ldurb.  */
                                                       return 897;
                                                     }
@@ -721,7 +721,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx00xxxxxxxxx01000011110
+                                                         01111000010xxxxxxxxx00xxxxxxxxxx
                                                          ldurh.  */
                                                       return 902;
                                                     }
@@ -730,7 +730,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx00xxxxxxxxx010000111x1
+                                                     1x111000010xxxxxxxxx00xxxxxxxxxx
                                                      ldur.  */
                                                   return 905;
                                                 }
@@ -744,7 +744,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx00xxxxxxxxx0x100011100
+                                                     001110001x0xxxxxxxxx00xxxxxxxxxx
                                                      ldursb.  */
                                                   return 898;
                                                 }
@@ -752,7 +752,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx00xxxxxxxxx0x100011101
+                                                     101110001x0xxxxxxxxx00xxxxxxxxxx
                                                      ldursw.  */
                                                   return 906;
                                                 }
@@ -763,7 +763,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx00xxxxxxxxx0x100011110
+                                                     011110001x0xxxxxxxxx00xxxxxxxxxx
                                                      ldursh.  */
                                                   return 903;
                                                 }
@@ -771,7 +771,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx00xxxxxxxxx0x100011111
+                                                     111110001x0xxxxxxxxx00xxxxxxxxxx
                                                      prfum.  */
                                                   return 907;
                                                 }
@@ -798,7 +798,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000xxxxx10000011100
+                                                                         00111000001xxxxx000000xxxxxxxxxx
                                                                          ldaddb.  */
                                                                       return 1006;
                                                                     }
@@ -806,7 +806,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000xxxxx10000011110
+                                                                         01111000001xxxxx000000xxxxxxxxxx
                                                                          ldaddh.  */
                                                                       return 1007;
                                                                     }
@@ -815,7 +815,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx000000xxxxx100000111x1
+                                                                     1x111000001xxxxx000000xxxxxxxxxx
                                                                      ldadd.  */
                                                                   return 1008;
                                                                 }
@@ -828,7 +828,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000xxxxx10100011100
+                                                                         00111000101xxxxx000000xxxxxxxxxx
                                                                          ldaddab.  */
                                                                       return 1009;
                                                                     }
@@ -836,7 +836,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000xxxxx10100011110
+                                                                         01111000101xxxxx000000xxxxxxxxxx
                                                                          ldaddah.  */
                                                                       return 1012;
                                                                     }
@@ -845,7 +845,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx000000xxxxx101000111x1
+                                                                     1x111000101xxxxx000000xxxxxxxxxx
                                                                      ldadda.  */
                                                                   return 1015;
                                                                 }
@@ -861,7 +861,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000xxxxx11000011100
+                                                                         00111000011xxxxx000000xxxxxxxxxx
                                                                          ldaddlb.  */
                                                                       return 1010;
                                                                     }
@@ -869,7 +869,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000xxxxx11000011110
+                                                                         01111000011xxxxx000000xxxxxxxxxx
                                                                          ldaddlh.  */
                                                                       return 1013;
                                                                     }
@@ -878,7 +878,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx000000xxxxx110000111x1
+                                                                     1x111000011xxxxx000000xxxxxxxxxx
                                                                      ldaddl.  */
                                                                   return 1016;
                                                                 }
@@ -891,7 +891,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000xxxxx11100011100
+                                                                         00111000111xxxxx000000xxxxxxxxxx
                                                                          ldaddalb.  */
                                                                       return 1011;
                                                                     }
@@ -899,7 +899,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000xxxxx11100011110
+                                                                         01111000111xxxxx000000xxxxxxxxxx
                                                                          ldaddalh.  */
                                                                       return 1014;
                                                                     }
@@ -908,7 +908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx000000xxxxx111000111x1
+                                                                     1x111000111xxxxx000000xxxxxxxxxx
                                                                      ldaddal.  */
                                                                   return 1017;
                                                                 }
@@ -927,7 +927,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000001xxxxx10000011100
+                                                                         00111000001xxxxx100000xxxxxxxxxx
                                                                          swpb.  */
                                                                       return 994;
                                                                     }
@@ -935,7 +935,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000001xxxxx10000011110
+                                                                         01111000001xxxxx100000xxxxxxxxxx
                                                                          swph.  */
                                                                       return 995;
                                                                     }
@@ -944,7 +944,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx000001xxxxx100000111x1
+                                                                     1x111000001xxxxx100000xxxxxxxxxx
                                                                      swp.  */
                                                                   return 996;
                                                                 }
@@ -957,7 +957,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000001xxxxx10100011100
+                                                                         00111000101xxxxx100000xxxxxxxxxx
                                                                          swpab.  */
                                                                       return 997;
                                                                     }
@@ -965,7 +965,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000001xxxxx10100011110
+                                                                         01111000101xxxxx100000xxxxxxxxxx
                                                                          swpah.  */
                                                                       return 1000;
                                                                     }
@@ -974,7 +974,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx000001xxxxx101000111x1
+                                                                     1x111000101xxxxx100000xxxxxxxxxx
                                                                      swpa.  */
                                                                   return 1003;
                                                                 }
@@ -990,7 +990,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000001xxxxx11000011100
+                                                                         00111000011xxxxx100000xxxxxxxxxx
                                                                          swplb.  */
                                                                       return 998;
                                                                     }
@@ -998,7 +998,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000001xxxxx11000011110
+                                                                         01111000011xxxxx100000xxxxxxxxxx
                                                                          swplh.  */
                                                                       return 1001;
                                                                     }
@@ -1007,7 +1007,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx000001xxxxx110000111x1
+                                                                     1x111000011xxxxx100000xxxxxxxxxx
                                                                      swpl.  */
                                                                   return 1004;
                                                                 }
@@ -1020,7 +1020,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000001xxxxx11100011100
+                                                                         00111000111xxxxx100000xxxxxxxxxx
                                                                          swpalb.  */
                                                                       return 999;
                                                                     }
@@ -1028,7 +1028,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000001xxxxx11100011110
+                                                                         01111000111xxxxx100000xxxxxxxxxx
                                                                          swpalh.  */
                                                                       return 1002;
                                                                     }
@@ -1037,7 +1037,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx000001xxxxx111000111x1
+                                                                     1x111000111xxxxx100000xxxxxxxxxx
                                                                      swpal.  */
                                                                   return 1005;
                                                                 }
@@ -1059,7 +1059,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000010xxxxx10000011100
+                                                                         00111000001xxxxx010000xxxxxxxxxx
                                                                          ldsmaxb.  */
                                                                       return 1054;
                                                                     }
@@ -1067,7 +1067,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000010xxxxx10000011110
+                                                                         01111000001xxxxx010000xxxxxxxxxx
                                                                          ldsmaxh.  */
                                                                       return 1055;
                                                                     }
@@ -1076,7 +1076,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx000010xxxxx100000111x1
+                                                                     1x111000001xxxxx010000xxxxxxxxxx
                                                                      ldsmax.  */
                                                                   return 1056;
                                                                 }
@@ -1089,7 +1089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000010xxxxx10100011100
+                                                                         00111000101xxxxx010000xxxxxxxxxx
                                                                          ldsmaxab.  */
                                                                       return 1057;
                                                                     }
@@ -1097,7 +1097,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000010xxxxx10100011110
+                                                                         01111000101xxxxx010000xxxxxxxxxx
                                                                          ldsmaxah.  */
                                                                       return 1060;
                                                                     }
@@ -1106,7 +1106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx000010xxxxx101000111x1
+                                                                     1x111000101xxxxx010000xxxxxxxxxx
                                                                      ldsmaxa.  */
                                                                   return 1063;
                                                                 }
@@ -1122,7 +1122,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000010xxxxx11000011100
+                                                                         00111000011xxxxx010000xxxxxxxxxx
                                                                          ldsmaxlb.  */
                                                                       return 1058;
                                                                     }
@@ -1130,7 +1130,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000010xxxxx11000011110
+                                                                         01111000011xxxxx010000xxxxxxxxxx
                                                                          ldsmaxlh.  */
                                                                       return 1061;
                                                                     }
@@ -1139,7 +1139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx000010xxxxx110000111x1
+                                                                     1x111000011xxxxx010000xxxxxxxxxx
                                                                      ldsmaxl.  */
                                                                   return 1064;
                                                                 }
@@ -1152,7 +1152,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000010xxxxx11100011100
+                                                                         00111000111xxxxx010000xxxxxxxxxx
                                                                          ldsmaxalb.  */
                                                                       return 1059;
                                                                     }
@@ -1160,7 +1160,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000010xxxxx11100011110
+                                                                         01111000111xxxxx010000xxxxxxxxxx
                                                                          ldsmaxalh.  */
                                                                       return 1062;
                                                                     }
@@ -1169,7 +1169,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx000010xxxxx111000111x1
+                                                                     1x111000111xxxxx010000xxxxxxxxxx
                                                                      ldsmaxal.  */
                                                                   return 1065;
                                                                 }
@@ -1184,7 +1184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000011xxxxx1xx00011100
+                                                                 00111000xx1xxxxx110000xxxxxxxxxx
                                                                  ldaprb.  */
                                                               return 932;
                                                             }
@@ -1192,7 +1192,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000011xxxxx1xx00011110
+                                                                 01111000xx1xxxxx110000xxxxxxxxxx
                                                                  ldaprh.  */
                                                               return 933;
                                                             }
@@ -1201,7 +1201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000011xxxxx1xx000111x1
+                                                             1x111000xx1xxxxx110000xxxxxxxxxx
                                                              ldapr.  */
                                                           return 934;
                                                         }
@@ -1222,7 +1222,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00010xxxxxx10000011100
+                                                                     00111000001xxxxxx01000xxxxxxxxxx
                                                                      ldeorb.  */
                                                                   return 1030;
                                                                 }
@@ -1230,7 +1230,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00010xxxxxx10000011110
+                                                                     01111000001xxxxxx01000xxxxxxxxxx
                                                                      ldeorh.  */
                                                                   return 1031;
                                                                 }
@@ -1239,7 +1239,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00010xxxxxx100000111x1
+                                                                 1x111000001xxxxxx01000xxxxxxxxxx
                                                                  ldeor.  */
                                                               return 1032;
                                                             }
@@ -1252,7 +1252,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00010xxxxxx10100011100
+                                                                     00111000101xxxxxx01000xxxxxxxxxx
                                                                      ldeorab.  */
                                                                   return 1033;
                                                                 }
@@ -1260,7 +1260,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00010xxxxxx10100011110
+                                                                     01111000101xxxxxx01000xxxxxxxxxx
                                                                      ldeorah.  */
                                                                   return 1036;
                                                                 }
@@ -1269,7 +1269,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00010xxxxxx101000111x1
+                                                                 1x111000101xxxxxx01000xxxxxxxxxx
                                                                  ldeora.  */
                                                               return 1039;
                                                             }
@@ -1285,7 +1285,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00010xxxxxx11000011100
+                                                                     00111000011xxxxxx01000xxxxxxxxxx
                                                                      ldeorlb.  */
                                                                   return 1034;
                                                                 }
@@ -1293,7 +1293,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00010xxxxxx11000011110
+                                                                     01111000011xxxxxx01000xxxxxxxxxx
                                                                      ldeorlh.  */
                                                                   return 1037;
                                                                 }
@@ -1302,7 +1302,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00010xxxxxx110000111x1
+                                                                 1x111000011xxxxxx01000xxxxxxxxxx
                                                                  ldeorl.  */
                                                               return 1040;
                                                             }
@@ -1315,7 +1315,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00010xxxxxx11100011100
+                                                                     00111000111xxxxxx01000xxxxxxxxxx
                                                                      ldeoralb.  */
                                                                   return 1035;
                                                                 }
@@ -1323,7 +1323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00010xxxxxx11100011110
+                                                                     01111000111xxxxxx01000xxxxxxxxxx
                                                                      ldeoralh.  */
                                                                   return 1038;
                                                                 }
@@ -1332,7 +1332,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00010xxxxxx111000111x1
+                                                                 1x111000111xxxxxx01000xxxxxxxxxx
                                                                  ldeoral.  */
                                                               return 1041;
                                                             }
@@ -1351,7 +1351,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00011xxxxxx10000011100
+                                                                     00111000001xxxxxx11000xxxxxxxxxx
                                                                      ldumaxb.  */
                                                                   return 1078;
                                                                 }
@@ -1359,7 +1359,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00011xxxxxx10000011110
+                                                                     01111000001xxxxxx11000xxxxxxxxxx
                                                                      ldumaxh.  */
                                                                   return 1079;
                                                                 }
@@ -1368,7 +1368,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00011xxxxxx100000111x1
+                                                                 1x111000001xxxxxx11000xxxxxxxxxx
                                                                  ldumax.  */
                                                               return 1080;
                                                             }
@@ -1381,7 +1381,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00011xxxxxx10100011100
+                                                                     00111000101xxxxxx11000xxxxxxxxxx
                                                                      ldumaxab.  */
                                                                   return 1081;
                                                                 }
@@ -1389,7 +1389,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00011xxxxxx10100011110
+                                                                     01111000101xxxxxx11000xxxxxxxxxx
                                                                      ldumaxah.  */
                                                                   return 1084;
                                                                 }
@@ -1398,7 +1398,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00011xxxxxx101000111x1
+                                                                 1x111000101xxxxxx11000xxxxxxxxxx
                                                                  ldumaxa.  */
                                                               return 1087;
                                                             }
@@ -1414,7 +1414,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00011xxxxxx11000011100
+                                                                     00111000011xxxxxx11000xxxxxxxxxx
                                                                      ldumaxlb.  */
                                                                   return 1082;
                                                                 }
@@ -1422,7 +1422,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00011xxxxxx11000011110
+                                                                     01111000011xxxxxx11000xxxxxxxxxx
                                                                      ldumaxlh.  */
                                                                   return 1085;
                                                                 }
@@ -1431,7 +1431,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00011xxxxxx110000111x1
+                                                                 1x111000011xxxxxx11000xxxxxxxxxx
                                                                  ldumaxl.  */
                                                               return 1088;
                                                             }
@@ -1444,7 +1444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00011xxxxxx11100011100
+                                                                     00111000111xxxxxx11000xxxxxxxxxx
                                                                      ldumaxalb.  */
                                                                   return 1083;
                                                                 }
@@ -1452,7 +1452,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00011xxxxxx11100011110
+                                                                     01111000111xxxxxx11000xxxxxxxxxx
                                                                      ldumaxalh.  */
                                                                   return 1086;
                                                                 }
@@ -1461,7 +1461,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00011xxxxxx111000111x1
+                                                                 1x111000111xxxxxx11000xxxxxxxxxx
                                                                  ldumaxal.  */
                                                               return 1089;
                                                             }
@@ -1486,7 +1486,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00100xxxxxx10000011100
+                                                                     00111000001xxxxxx00100xxxxxxxxxx
                                                                      ldclrb.  */
                                                                   return 1018;
                                                                 }
@@ -1494,7 +1494,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00100xxxxxx10000011110
+                                                                     01111000001xxxxxx00100xxxxxxxxxx
                                                                      ldclrh.  */
                                                                   return 1019;
                                                                 }
@@ -1503,7 +1503,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00100xxxxxx100000111x1
+                                                                 1x111000001xxxxxx00100xxxxxxxxxx
                                                                  ldclr.  */
                                                               return 1020;
                                                             }
@@ -1516,7 +1516,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00100xxxxxx10100011100
+                                                                     00111000101xxxxxx00100xxxxxxxxxx
                                                                      ldclrab.  */
                                                                   return 1021;
                                                                 }
@@ -1524,7 +1524,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00100xxxxxx10100011110
+                                                                     01111000101xxxxxx00100xxxxxxxxxx
                                                                      ldclrah.  */
                                                                   return 1024;
                                                                 }
@@ -1533,7 +1533,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00100xxxxxx101000111x1
+                                                                 1x111000101xxxxxx00100xxxxxxxxxx
                                                                  ldclra.  */
                                                               return 1027;
                                                             }
@@ -1549,7 +1549,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00100xxxxxx11000011100
+                                                                     00111000011xxxxxx00100xxxxxxxxxx
                                                                      ldclrlb.  */
                                                                   return 1022;
                                                                 }
@@ -1557,7 +1557,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00100xxxxxx11000011110
+                                                                     01111000011xxxxxx00100xxxxxxxxxx
                                                                      ldclrlh.  */
                                                                   return 1025;
                                                                 }
@@ -1566,7 +1566,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00100xxxxxx110000111x1
+                                                                 1x111000011xxxxxx00100xxxxxxxxxx
                                                                  ldclrl.  */
                                                               return 1028;
                                                             }
@@ -1579,7 +1579,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00100xxxxxx11100011100
+                                                                     00111000111xxxxxx00100xxxxxxxxxx
                                                                      ldclralb.  */
                                                                   return 1023;
                                                                 }
@@ -1587,7 +1587,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00100xxxxxx11100011110
+                                                                     01111000111xxxxxx00100xxxxxxxxxx
                                                                      ldclralh.  */
                                                                   return 1026;
                                                                 }
@@ -1596,7 +1596,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00100xxxxxx111000111x1
+                                                                 1x111000111xxxxxx00100xxxxxxxxxx
                                                                  ldclral.  */
                                                               return 1029;
                                                             }
@@ -1615,7 +1615,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00101xxxxxx10000011100
+                                                                     00111000001xxxxxx10100xxxxxxxxxx
                                                                      ldsminb.  */
                                                                   return 1066;
                                                                 }
@@ -1623,7 +1623,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00101xxxxxx10000011110
+                                                                     01111000001xxxxxx10100xxxxxxxxxx
                                                                      ldsminh.  */
                                                                   return 1067;
                                                                 }
@@ -1632,7 +1632,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00101xxxxxx100000111x1
+                                                                 1x111000001xxxxxx10100xxxxxxxxxx
                                                                  ldsmin.  */
                                                               return 1068;
                                                             }
@@ -1645,7 +1645,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00101xxxxxx10100011100
+                                                                     00111000101xxxxxx10100xxxxxxxxxx
                                                                      ldsminab.  */
                                                                   return 1069;
                                                                 }
@@ -1653,7 +1653,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00101xxxxxx10100011110
+                                                                     01111000101xxxxxx10100xxxxxxxxxx
                                                                      ldsminah.  */
                                                                   return 1072;
                                                                 }
@@ -1662,7 +1662,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00101xxxxxx101000111x1
+                                                                 1x111000101xxxxxx10100xxxxxxxxxx
                                                                  ldsmina.  */
                                                               return 1075;
                                                             }
@@ -1678,7 +1678,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00101xxxxxx11000011100
+                                                                     00111000011xxxxxx10100xxxxxxxxxx
                                                                      ldsminlb.  */
                                                                   return 1070;
                                                                 }
@@ -1686,7 +1686,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00101xxxxxx11000011110
+                                                                     01111000011xxxxxx10100xxxxxxxxxx
                                                                      ldsminlh.  */
                                                                   return 1073;
                                                                 }
@@ -1695,7 +1695,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00101xxxxxx110000111x1
+                                                                 1x111000011xxxxxx10100xxxxxxxxxx
                                                                  ldsminl.  */
                                                               return 1076;
                                                             }
@@ -1708,7 +1708,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00101xxxxxx11100011100
+                                                                     00111000111xxxxxx10100xxxxxxxxxx
                                                                      ldsminalb.  */
                                                                   return 1071;
                                                                 }
@@ -1716,7 +1716,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00101xxxxxx11100011110
+                                                                     01111000111xxxxxx10100xxxxxxxxxx
                                                                      ldsminalh.  */
                                                                   return 1074;
                                                                 }
@@ -1725,7 +1725,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00101xxxxxx111000111x1
+                                                                 1x111000111xxxxxx10100xxxxxxxxxx
                                                                  ldsminal.  */
                                                               return 1077;
                                                             }
@@ -1747,7 +1747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00110xxxxxx10000011100
+                                                                     00111000001xxxxxx01100xxxxxxxxxx
                                                                      ldsetb.  */
                                                                   return 1042;
                                                                 }
@@ -1755,7 +1755,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00110xxxxxx10000011110
+                                                                     01111000001xxxxxx01100xxxxxxxxxx
                                                                      ldseth.  */
                                                                   return 1043;
                                                                 }
@@ -1764,7 +1764,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00110xxxxxx100000111x1
+                                                                 1x111000001xxxxxx01100xxxxxxxxxx
                                                                  ldset.  */
                                                               return 1044;
                                                             }
@@ -1777,7 +1777,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00110xxxxxx10100011100
+                                                                     00111000101xxxxxx01100xxxxxxxxxx
                                                                      ldsetab.  */
                                                                   return 1045;
                                                                 }
@@ -1785,7 +1785,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00110xxxxxx10100011110
+                                                                     01111000101xxxxxx01100xxxxxxxxxx
                                                                      ldsetah.  */
                                                                   return 1048;
                                                                 }
@@ -1794,7 +1794,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00110xxxxxx101000111x1
+                                                                 1x111000101xxxxxx01100xxxxxxxxxx
                                                                  ldseta.  */
                                                               return 1051;
                                                             }
@@ -1810,7 +1810,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00110xxxxxx11000011100
+                                                                     00111000011xxxxxx01100xxxxxxxxxx
                                                                      ldsetlb.  */
                                                                   return 1046;
                                                                 }
@@ -1818,7 +1818,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00110xxxxxx11000011110
+                                                                     01111000011xxxxxx01100xxxxxxxxxx
                                                                      ldsetlh.  */
                                                                   return 1049;
                                                                 }
@@ -1827,7 +1827,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00110xxxxxx110000111x1
+                                                                 1x111000011xxxxxx01100xxxxxxxxxx
                                                                  ldsetl.  */
                                                               return 1052;
                                                             }
@@ -1840,7 +1840,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00110xxxxxx11100011100
+                                                                     00111000111xxxxxx01100xxxxxxxxxx
                                                                      ldsetalb.  */
                                                                   return 1047;
                                                                 }
@@ -1848,7 +1848,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00110xxxxxx11100011110
+                                                                     01111000111xxxxxx01100xxxxxxxxxx
                                                                      ldsetalh.  */
                                                                   return 1050;
                                                                 }
@@ -1857,7 +1857,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00110xxxxxx111000111x1
+                                                                 1x111000111xxxxxx01100xxxxxxxxxx
                                                                  ldsetal.  */
                                                               return 1053;
                                                             }
@@ -1876,7 +1876,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00111xxxxxx10000011100
+                                                                     00111000001xxxxxx11100xxxxxxxxxx
                                                                      lduminb.  */
                                                                   return 1090;
                                                                 }
@@ -1884,7 +1884,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00111xxxxxx10000011110
+                                                                     01111000001xxxxxx11100xxxxxxxxxx
                                                                      lduminh.  */
                                                                   return 1091;
                                                                 }
@@ -1893,7 +1893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00111xxxxxx100000111x1
+                                                                 1x111000001xxxxxx11100xxxxxxxxxx
                                                                  ldumin.  */
                                                               return 1092;
                                                             }
@@ -1906,7 +1906,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00111xxxxxx10100011100
+                                                                     00111000101xxxxxx11100xxxxxxxxxx
                                                                      lduminab.  */
                                                                   return 1093;
                                                                 }
@@ -1914,7 +1914,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00111xxxxxx10100011110
+                                                                     01111000101xxxxxx11100xxxxxxxxxx
                                                                      lduminah.  */
                                                                   return 1096;
                                                                 }
@@ -1923,7 +1923,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00111xxxxxx101000111x1
+                                                                 1x111000101xxxxxx11100xxxxxxxxxx
                                                                  ldumina.  */
                                                               return 1099;
                                                             }
@@ -1939,7 +1939,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00111xxxxxx11000011100
+                                                                     00111000011xxxxxx11100xxxxxxxxxx
                                                                      lduminlb.  */
                                                                   return 1094;
                                                                 }
@@ -1947,7 +1947,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00111xxxxxx11000011110
+                                                                     01111000011xxxxxx11100xxxxxxxxxx
                                                                      lduminlh.  */
                                                                   return 1097;
                                                                 }
@@ -1956,7 +1956,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00111xxxxxx110000111x1
+                                                                 1x111000011xxxxxx11100xxxxxxxxxx
                                                                  lduminl.  */
                                                               return 1100;
                                                             }
@@ -1969,7 +1969,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00111xxxxxx11100011100
+                                                                     00111000111xxxxxx11100xxxxxxxxxx
                                                                      lduminalb.  */
                                                                   return 1095;
                                                                 }
@@ -1977,7 +1977,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00111xxxxxx11100011110
+                                                                     01111000111xxxxxx11100xxxxxxxxxx
                                                                      lduminalh.  */
                                                                   return 1098;
                                                                 }
@@ -1986,7 +1986,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00111xxxxxx111000111x1
+                                                                 1x111000111xxxxxx11100xxxxxxxxxx
                                                                  lduminal.  */
                                                               return 1101;
                                                             }
@@ -2011,7 +2011,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx01xxxxxxxxx00000011100
+                                                         00111000000xxxxxxxxx10xxxxxxxxxx
                                                          sttrb.  */
                                                       return 887;
                                                     }
@@ -2019,7 +2019,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx01xxxxxxxxx00000011110
+                                                         01111000000xxxxxxxxx10xxxxxxxxxx
                                                          sttrh.  */
                                                       return 890;
                                                     }
@@ -2028,7 +2028,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01xxxxxxxxx000000111x1
+                                                     1x111000000xxxxxxxxx10xxxxxxxxxx
                                                      sttr.  */
                                                   return 893;
                                                 }
@@ -2041,7 +2041,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx01xxxxxxxxx01000011100
+                                                         00111000010xxxxxxxxx10xxxxxxxxxx
                                                          ldtrb.  */
                                                       return 888;
                                                     }
@@ -2049,7 +2049,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx01xxxxxxxxx01000011110
+                                                         01111000010xxxxxxxxx10xxxxxxxxxx
                                                          ldtrh.  */
                                                       return 891;
                                                     }
@@ -2058,7 +2058,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01xxxxxxxxx010000111x1
+                                                     1x111000010xxxxxxxxx10xxxxxxxxxx
                                                      ldtr.  */
                                                   return 894;
                                                 }
@@ -2072,7 +2072,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01xxxxxxxxx0x100011100
+                                                     001110001x0xxxxxxxxx10xxxxxxxxxx
                                                      ldtrsb.  */
                                                   return 889;
                                                 }
@@ -2080,7 +2080,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01xxxxxxxxx0x100011101
+                                                     101110001x0xxxxxxxxx10xxxxxxxxxx
                                                      ldtrsw.  */
                                                   return 895;
                                                 }
@@ -2089,7 +2089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx01xxxxxxxxx0x10001111x
+                                                 x11110001x0xxxxxxxxx10xxxxxxxxxx
                                                  ldtrsh.  */
                                               return 892;
                                             }
@@ -2107,7 +2107,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx01xxxxxxxxx10000011100
+                                                         00111000001xxxxxxxxx10xxxxxxxxxx
                                                          strb.  */
                                                       return 875;
                                                     }
@@ -2115,7 +2115,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx01xxxxxxxxx10000011110
+                                                         01111000001xxxxxxxxx10xxxxxxxxxx
                                                          strh.  */
                                                       return 880;
                                                     }
@@ -2124,7 +2124,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01xxxxxxxxx100000111x1
+                                                     1x111000001xxxxxxxxx10xxxxxxxxxx
                                                      str.  */
                                                   return 883;
                                                 }
@@ -2137,7 +2137,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx01xxxxxxxxx11000011100
+                                                         00111000011xxxxxxxxx10xxxxxxxxxx
                                                          ldrb.  */
                                                       return 876;
                                                     }
@@ -2145,7 +2145,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx01xxxxxxxxx11000011110
+                                                         01111000011xxxxxxxxx10xxxxxxxxxx
                                                          ldrh.  */
                                                       return 881;
                                                     }
@@ -2154,7 +2154,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01xxxxxxxxx110000111x1
+                                                     1x111000011xxxxxxxxx10xxxxxxxxxx
                                                      ldr.  */
                                                   return 884;
                                                 }
@@ -2168,7 +2168,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01xxxxxxxxx1x100011100
+                                                     001110001x1xxxxxxxxx10xxxxxxxxxx
                                                      ldrsb.  */
                                                   return 877;
                                                 }
@@ -2176,7 +2176,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01xxxxxxxxx1x100011101
+                                                     101110001x1xxxxxxxxx10xxxxxxxxxx
                                                      ldrsw.  */
                                                   return 885;
                                                 }
@@ -2187,7 +2187,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01xxxxxxxxx1x100011110
+                                                     011110001x1xxxxxxxxx10xxxxxxxxxx
                                                      ldrsh.  */
                                                   return 882;
                                                 }
@@ -2195,7 +2195,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01xxxxxxxxx1x100011111
+                                                     111110001x1xxxxxxxxx10xxxxxxxxxx
                                                      prfm.  */
                                                   return 886;
                                                 }
@@ -2218,7 +2218,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1xxxxxxxxxx00000011100
+                                                     00111000000xxxxxxxxxx1xxxxxxxxxx
                                                      strb.  */
                                                   return 852;
                                                 }
@@ -2226,7 +2226,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1xxxxxxxxxx00000011110
+                                                     01111000000xxxxxxxxxx1xxxxxxxxxx
                                                      strh.  */
                                                   return 857;
                                                 }
@@ -2235,7 +2235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx1xxxxxxxxxx000000111x1
+                                                 1x111000000xxxxxxxxxx1xxxxxxxxxx
                                                  str.  */
                                               return 860;
                                             }
@@ -2248,7 +2248,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1xxxxxxxxxx01000011100
+                                                     00111000010xxxxxxxxxx1xxxxxxxxxx
                                                      ldrb.  */
                                                   return 853;
                                                 }
@@ -2256,7 +2256,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1xxxxxxxxxx01000011110
+                                                     01111000010xxxxxxxxxx1xxxxxxxxxx
                                                      ldrh.  */
                                                   return 858;
                                                 }
@@ -2265,7 +2265,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx1xxxxxxxxxx010000111x1
+                                                 1x111000010xxxxxxxxxx1xxxxxxxxxx
                                                  ldr.  */
                                               return 861;
                                             }
@@ -2279,7 +2279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx1xxxxxxxxxx0x100011100
+                                                 001110001x0xxxxxxxxxx1xxxxxxxxxx
                                                  ldrsb.  */
                                               return 854;
                                             }
@@ -2287,7 +2287,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx1xxxxxxxxxx0x100011101
+                                                 101110001x0xxxxxxxxxx1xxxxxxxxxx
                                                  ldrsw.  */
                                               return 862;
                                             }
@@ -2296,7 +2296,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx1xxxxxxxxxx0x10001111x
+                                             x11110001x0xxxxxxxxxx1xxxxxxxxxx
                                              ldrsh.  */
                                           return 859;
                                         }
@@ -2308,7 +2308,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx1xxxxxxxxxx1x0000111xx
+                                         xx1110000x1xxxxxxxxxx1xxxxxxxxxx
                                          ldraa.  */
                                       return 908;
                                     }
@@ -2316,7 +2316,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx1xxxxxxxxxx1x1000111xx
+                                         xx1110001x1xxxxxxxxxx1xxxxxxxxxx
                                          ldrab.  */
                                       return 909;
                                     }
@@ -2336,7 +2336,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxxxxxxxxx0010011x00
+                                         00x1100100xxxxxxxxxxxxxxxxxxxxxx
                                          strb.  */
                                       return 863;
                                     }
@@ -2344,7 +2344,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxxxxxxxxx0010011x10
+                                         01x1100100xxxxxxxxxxxxxxxxxxxxxx
                                          strh.  */
                                       return 868;
                                     }
@@ -2353,7 +2353,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxx0010011xx1
+                                     1xx1100100xxxxxxxxxxxxxxxxxxxxxx
                                      str.  */
                                   return 871;
                                 }
@@ -2366,7 +2366,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxxxxxxxxx1010011x00
+                                         00x1100101xxxxxxxxxxxxxxxxxxxxxx
                                          ldrb.  */
                                       return 864;
                                     }
@@ -2374,7 +2374,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxxxxxxxxx1010011x10
+                                         01x1100101xxxxxxxxxxxxxxxxxxxxxx
                                          ldrh.  */
                                       return 869;
                                     }
@@ -2383,7 +2383,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxx1010011xx1
+                                     1xx1100101xxxxxxxxxxxxxxxxxxxxxx
                                      ldr.  */
                                   return 872;
                                 }
@@ -2397,7 +2397,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxxx110011x00
+                                     00x110011xxxxxxxxxxxxxxxxxxxxxxx
                                      ldrsb.  */
                                   return 865;
                                 }
@@ -2405,7 +2405,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxxx110011x01
+                                     10x110011xxxxxxxxxxxxxxxxxxxxxxx
                                      ldrsw.  */
                                   return 873;
                                 }
@@ -2416,7 +2416,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxxx110011x10
+                                     01x110011xxxxxxxxxxxxxxxxxxxxxxx
                                      ldrsh.  */
                                   return 870;
                                 }
@@ -2424,7 +2424,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxxx110011x11
+                                     11x110011xxxxxxxxxxxxxxxxxxxxxxx
                                      prfm.  */
                                   return 874;
                                 }
@@ -2448,7 +2448,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxxxx00100x00x
+                                 x00x00100xxxxxxxxxxxxxxxxxxxxxxx
                                  and.  */
                               return 959;
                             }
@@ -2456,7 +2456,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxxxx00100x01x
+                                 x10x00100xxxxxxxxxxxxxxxxxxxxxxx
                                  eor.  */
                               return 963;
                             }
@@ -2467,7 +2467,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxxxx00100x10x
+                                 x01x00100xxxxxxxxxxxxxxxxxxxxxxx
                                  orr.  */
                               return 961;
                             }
@@ -2475,7 +2475,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxxxx00100x11x
+                                 x11x00100xxxxxxxxxxxxxxxxxxxxxxx
                                  ands.  */
                               return 964;
                             }
@@ -2489,7 +2489,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxxxx10100x00x
+                                 x00x00101xxxxxxxxxxxxxxxxxxxxxxx
                                  movn.  */
                               return 1150;
                             }
@@ -2497,7 +2497,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxxxx10100x01x
+                                 x10x00101xxxxxxxxxxxxxxxxxxxxxxx
                                  movz.  */
                               return 1152;
                             }
@@ -2506,7 +2506,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           /* 33222222222211111111110000000000
                              10987654321098765432109876543210
-                             xxxxxxxxxxxxxxxxxxxxxxx10100x1xx
+                             xx1x00101xxxxxxxxxxxxxxxxxxxxxxx
                              movk.  */
                           return 1154;
                         }
@@ -2524,7 +2524,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxx0xx0101000x
+                                     x0001010xx0xxxxxxxxxxxxxxxxxxxxx
                                      and.  */
                                   return 966;
                                 }
@@ -2532,7 +2532,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxx0xx0101001x
+                                     x1001010xx0xxxxxxxxxxxxxxxxxxxxx
                                      eor.  */
                                   return 973;
                                 }
@@ -2543,7 +2543,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxx0xx0101010x
+                                     x0101010xx0xxxxxxxxxxxxxxxxxxxxx
                                      orr.  */
                                   return 968;
                                 }
@@ -2551,7 +2551,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxx0xx0101011x
+                                     x1101010xx0xxxxxxxxxxxxxxxxxxxxx
                                      ands.  */
                                   return 975;
                                 }
@@ -2573,7 +2573,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx00xxxxxxxxx0000101100x
+                                                     x0011010000xxxxxxxxx00xxxxxxxxxx
                                                      adc.  */
                                                   return 0;
                                                 }
@@ -2581,7 +2581,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx00xxxxxxxxx0000101101x
+                                                     x1011010000xxxxxxxxx00xxxxxxxxxx
                                                      sbc.  */
                                                   return 2;
                                                 }
@@ -2592,7 +2592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx00xxxxxxxxx0000101110x
+                                                     x0111010000xxxxxxxxx00xxxxxxxxxx
                                                      adcs.  */
                                                   return 1;
                                                 }
@@ -2600,7 +2600,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx00xxxxxxxxx0000101111x
+                                                     x1111010000xxxxxxxxx00xxxxxxxxxx
                                                      sbcs.  */
                                                   return 4;
                                                 }
@@ -2612,7 +2612,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx00xxxxxxxxx00101011x0x
+                                                 x0x11010100xxxxxxxxx00xxxxxxxxxx
                                                  csel.  */
                                               return 656;
                                             }
@@ -2620,7 +2620,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx00xxxxxxxxx00101011x1x
+                                                 x1x11010100xxxxxxxxx00xxxxxxxxxx
                                                  csinv.  */
                                               return 660;
                                             }
@@ -2634,7 +2634,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx00xxxxxxxxx01001011x0x
+                                                 x0x11010010xxxxxxxxx00xxxxxxxxxx
                                                  ccmn.  */
                                               return 654;
                                             }
@@ -2642,7 +2642,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx00xxxxxxxxx01001011x1x
+                                                 x1x11010010xxxxxxxxx00xxxxxxxxxx
                                                  ccmp.  */
                                               return 655;
                                             }
@@ -2659,7 +2659,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx00000x0xxxx01101011xxx
+                                                             xxx11010110xxxx0x00000xxxxxxxxxx
                                                              rbit.  */
                                                           return 679;
                                                         }
@@ -2667,7 +2667,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx00000x1xxxx01101011xxx
+                                                             xxx11010110xxxx1x00000xxxxxxxxxx
                                                              pacia.  */
                                                           return 687;
                                                         }
@@ -2678,7 +2678,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx00001xxxxxx01101011x0x
+                                                             x0x11010110xxxxxx10000xxxxxxxxxx
                                                              crc32b.  */
                                                           return 716;
                                                         }
@@ -2686,7 +2686,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx00001xxxxxx01101011x1x
+                                                             x1x11010110xxxxxx10000xxxxxxxxxx
                                                              xpaci.  */
                                                           return 703;
                                                         }
@@ -2698,7 +2698,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx0001xxxxxxx01101011x0x
+                                                         x0x11010110xxxxxxx1000xxxxxxxxxx
                                                          lslv.  */
                                                       return 707;
                                                     }
@@ -2706,7 +2706,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx0001xxxxxxx01101011x1x
+                                                         x1x11010110xxxxxxx1000xxxxxxxxxx
                                                          paciza.  */
                                                       return 695;
                                                     }
@@ -2722,7 +2722,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx00100x0xxxx01101011xxx
+                                                             xxx11010110xxxx0x00100xxxxxxxxxx
                                                              clz.  */
                                                           return 684;
                                                         }
@@ -2730,7 +2730,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx00100x1xxxx01101011xxx
+                                                             xxx11010110xxxx1x00100xxxxxxxxxx
                                                              autia.  */
                                                           return 691;
                                                         }
@@ -2739,7 +2739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx00101xxxxxx01101011xxx
+                                                         xxx11010110xxxxxx10100xxxxxxxxxx
                                                          crc32cb.  */
                                                       return 720;
                                                     }
@@ -2750,7 +2750,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx0011xxxxxxx01101011x0x
+                                                         x0x11010110xxxxxxx1100xxxxxxxxxx
                                                          pacga.  */
                                                       return 715;
                                                     }
@@ -2758,7 +2758,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx0011xxxxxxx01101011x1x
+                                                         x1x11010110xxxxxxx1100xxxxxxxxxx
                                                          autiza.  */
                                                       return 699;
                                                     }
@@ -2775,7 +2775,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx01xxxxxxxxx0x001011x0x
+                                             x0x110100x0xxxxxxxxx10xxxxxxxxxx
                                              ccmn.  */
                                           return 652;
                                         }
@@ -2783,7 +2783,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx01xxxxxxxxx0x001011x1x
+                                             x1x110100x0xxxxxxxxx10xxxxxxxxxx
                                              ccmp.  */
                                           return 653;
                                         }
@@ -2800,7 +2800,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx01000xxxxxx0x101011x0x
+                                                         x0x110101x0xxxxxx00010xxxxxxxxxx
                                                          udiv.  */
                                                       return 705;
                                                     }
@@ -2812,7 +2812,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx01000x0xxxx0x101011x10
+                                                                 01x110101x0xxxx0x00010xxxxxxxxxx
                                                                  rev.  */
                                                               return 681;
                                                             }
@@ -2820,7 +2820,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx01000x0xxxx0x101011x11
+                                                                 11x110101x0xxxx0x00010xxxxxxxxxx
                                                                  rev32.  */
                                                               return 686;
                                                             }
@@ -2829,7 +2829,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx01000x1xxxx0x101011x1x
+                                                             x1x110101x0xxxx1x00010xxxxxxxxxx
                                                              pacda.  */
                                                           return 689;
                                                         }
@@ -2839,7 +2839,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01001xxxxxx0x101011xxx
+                                                     xxx110101x0xxxxxx10010xxxxxxxxxx
                                                      crc32w.  */
                                                   return 718;
                                                 }
@@ -2850,7 +2850,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0101xxxxxxx0x101011x0x
+                                                     x0x110101x0xxxxxxx1010xxxxxxxxxx
                                                      asrv.  */
                                                   return 711;
                                                 }
@@ -2858,7 +2858,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0101xxxxxxx0x101011x1x
+                                                     x1x110101x0xxxxxxx1010xxxxxxxxxx
                                                      pacdza.  */
                                                   return 697;
                                                 }
@@ -2872,7 +2872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01100xxxxxx0x101011xxx
+                                                     xxx110101x0xxxxxx00110xxxxxxxxxx
                                                      autda.  */
                                                   return 693;
                                                 }
@@ -2880,7 +2880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01101xxxxxx0x101011xxx
+                                                     xxx110101x0xxxxxx10110xxxxxxxxxx
                                                      crc32cw.  */
                                                   return 722;
                                                 }
@@ -2889,7 +2889,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx0111xxxxxxx0x101011xxx
+                                                 xxx110101x0xxxxxxx1110xxxxxxxxxx
                                                  autdza.  */
                                               return 701;
                                             }
@@ -2907,7 +2907,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx10xxxxxxxxx00x01011x0x
+                                             x0x11010x00xxxxxxxxx01xxxxxxxxxx
                                              csinc.  */
                                           return 657;
                                         }
@@ -2915,7 +2915,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx10xxxxxxxxx00x01011x1x
+                                             x1x11010x00xxxxxxxxx01xxxxxxxxxx
                                              csneg.  */
                                           return 663;
                                         }
@@ -2932,7 +2932,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx10000x0xxxx01x01011xxx
+                                                         xxx11010x10xxxx0x00001xxxxxxxxxx
                                                          rev16.  */
                                                       return 680;
                                                     }
@@ -2940,7 +2940,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx10000x1xxxx01x01011xxx
+                                                         xxx11010x10xxxx1x00001xxxxxxxxxx
                                                          pacib.  */
                                                       return 688;
                                                     }
@@ -2951,7 +2951,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx10001xxxxxx01x01011x0x
+                                                         x0x11010x10xxxxxx10001xxxxxxxxxx
                                                          crc32h.  */
                                                       return 717;
                                                     }
@@ -2959,7 +2959,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx10001xxxxxx01x01011x1x
+                                                         x1x11010x10xxxxxx10001xxxxxxxxxx
                                                          xpacd.  */
                                                       return 704;
                                                     }
@@ -2971,7 +2971,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1001xxxxxxx01x01011x0x
+                                                     x0x11010x10xxxxxxx1001xxxxxxxxxx
                                                      lsrv.  */
                                                   return 709;
                                                 }
@@ -2979,7 +2979,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1001xxxxxxx01x01011x1x
+                                                     x1x11010x10xxxxxxx1001xxxxxxxxxx
                                                      pacizb.  */
                                                   return 696;
                                                 }
@@ -2995,7 +2995,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx10100x0xxxx01x01011xxx
+                                                         xxx11010x10xxxx0x00101xxxxxxxxxx
                                                          cls.  */
                                                       return 685;
                                                     }
@@ -3003,7 +3003,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx10100x1xxxx01x01011xxx
+                                                         xxx11010x10xxxx1x00101xxxxxxxxxx
                                                          autib.  */
                                                       return 692;
                                                     }
@@ -3012,7 +3012,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx10101xxxxxx01x01011xxx
+                                                     xxx11010x10xxxxxx10101xxxxxxxxxx
                                                      crc32ch.  */
                                                   return 721;
                                                 }
@@ -3021,7 +3021,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx1011xxxxxxx01x01011xxx
+                                                 xxx11010x10xxxxxxx1101xxxxxxxxxx
                                                  autizb.  */
                                               return 700;
                                             }
@@ -3040,7 +3040,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx11000xxxxxx0xx01011x0x
+                                                     x0x11010xx0xxxxxx00011xxxxxxxxxx
                                                      sdiv.  */
                                                   return 706;
                                                 }
@@ -3050,7 +3050,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx11000x0xxxx0xx01011x1x
+                                                         x1x11010xx0xxxx0x00011xxxxxxxxxx
                                                          rev.  */
                                                       return 682;
                                                     }
@@ -3058,7 +3058,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx11000x1xxxx0xx01011x1x
+                                                         x1x11010xx0xxxx1x00011xxxxxxxxxx
                                                          pacdb.  */
                                                       return 690;
                                                     }
@@ -3068,7 +3068,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx11001xxxxxx0xx01011xxx
+                                                 xxx11010xx0xxxxxx10011xxxxxxxxxx
                                                  crc32x.  */
                                               return 719;
                                             }
@@ -3079,7 +3079,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx1101xxxxxxx0xx01011x0x
+                                                 x0x11010xx0xxxxxxx1011xxxxxxxxxx
                                                  rorv.  */
                                               return 713;
                                             }
@@ -3087,7 +3087,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx1101xxxxxxx0xx01011x1x
+                                                 x1x11010xx0xxxxxxx1011xxxxxxxxxx
                                                  pacdzb.  */
                                               return 698;
                                             }
@@ -3101,7 +3101,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx11100xxxxxx0xx01011xxx
+                                                 xxx11010xx0xxxxxx00111xxxxxxxxxx
                                                  autdb.  */
                                               return 694;
                                             }
@@ -3109,7 +3109,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx11101xxxxxx0xx01011xxx
+                                                 xxx11010xx0xxxxxx10111xxxxxxxxxx
                                                  crc32cx.  */
                                               return 723;
                                             }
@@ -3118,7 +3118,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx1111xxxxxxx0xx01011xxx
+                                             xxx11010xx0xxxxxxx1111xxxxxxxxxx
                                              autdzb.  */
                                           return 702;
                                         }
@@ -3135,7 +3135,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxx1xx0101x00x
+                                 x00x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                  bic.  */
                               return 967;
                             }
@@ -3143,7 +3143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxx1xx0101x01x
+                                 x10x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                  eon.  */
                               return 974;
                             }
@@ -3154,7 +3154,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxx1xx0101x10x
+                                 x01x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                  orn.  */
                               return 971;
                             }
@@ -3162,7 +3162,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxx1xx0101x11x
+                                 x11x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                  bics.  */
                               return 977;
                             }
@@ -3182,7 +3182,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxxxx01100x00x
+                                 x00x00110xxxxxxxxxxxxxxxxxxxxxxx
                                  sbfm.  */
                               return 612;
                             }
@@ -3190,7 +3190,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxxxx01100x01x
+                                 x10x00110xxxxxxxxxxxxxxxxxxxxxxx
                                  ubfm.  */
                               return 623;
                             }
@@ -3199,7 +3199,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           /* 33222222222211111111110000000000
                              10987654321098765432109876543210
-                             xxxxxxxxxxxxxxxxxxxxxxx01100x1xx
+                             xx1x00110xxxxxxxxxxxxxxxxxxxxxxx
                              bfm.  */
                           return 619;
                         }
@@ -3208,7 +3208,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                     {
                       /* 33222222222211111111110000000000
                          10987654321098765432109876543210
-                         xxxxxxxxxxxxxxxxxxxxxxx11100xxxx
+                         xxxx00111xxxxxxxxxxxxxxxxxxxxxxx
                          extr.  */
                       return 746;
                     }
@@ -3225,7 +3225,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxx0xx1101000x
+                                     x0001011xx0xxxxxxxxxxxxxxxxxxxxx
                                      add.  */
                                   return 19;
                                 }
@@ -3233,7 +3233,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxx0xx1101001x
+                                     x1001011xx0xxxxxxxxxxxxxxxxxxxxx
                                      sub.  */
                                   return 22;
                                 }
@@ -3244,7 +3244,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxx0xx1101010x
+                                     x0101011xx0xxxxxxxxxxxxxxxxxxxxx
                                      adds.  */
                                   return 20;
                                 }
@@ -3252,7 +3252,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxx0xx1101011x
+                                     x1101011xx0xxxxxxxxxxxxxxxxxxxxx
                                      subs.  */
                                   return 24;
                                 }
@@ -3266,7 +3266,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxx0xxxxx00x11011xxx
+                                     xxx11011x00xxxxx0xxxxxxxxxxxxxxx
                                      madd.  */
                                   return 724;
                                 }
@@ -3276,7 +3276,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxx0xxxxx01011011xxx
+                                         xxx11011010xxxxx0xxxxxxxxxxxxxxx
                                          smulh.  */
                                       return 732;
                                     }
@@ -3284,7 +3284,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxx0xxxxx01111011xxx
+                                         xxx11011110xxxxx0xxxxxxxxxxxxxxx
                                          umulh.  */
                                       return 737;
                                     }
@@ -3294,7 +3294,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxx1xxxxx0xx11011xxx
+                                 xxx11011xx0xxxxx1xxxxxxxxxxxxxxx
                                  msub.  */
                               return 726;
                             }
@@ -3312,7 +3312,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxxxxxxxx1x01101000x
+                                         x00010110x1xxxxxxxxxxxxxxxxxxxxx
                                          add.  */
                                       return 6;
                                     }
@@ -3320,7 +3320,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxxxxxxxx1x01101001x
+                                         x10010110x1xxxxxxxxxxxxxxxxxxxxx
                                          sub.  */
                                       return 9;
                                     }
@@ -3331,7 +3331,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxxxxxxxx1x01101010x
+                                         x01010110x1xxxxxxxxxxxxxxxxxxxxx
                                          adds.  */
                                       return 7;
                                     }
@@ -3339,7 +3339,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxxxxxxxx1x01101011x
+                                         x11010110x1xxxxxxxxxxxxxxxxxxxxx
                                          subs.  */
                                       return 10;
                                     }
@@ -3351,7 +3351,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxx0xxxxx1x011011xxx
+                                     xxx110110x1xxxxx0xxxxxxxxxxxxxxx
                                      smaddl.  */
                                   return 728;
                                 }
@@ -3359,7 +3359,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxx1xxxxx1x011011xxx
+                                     xxx110110x1xxxxx1xxxxxxxxxxxxxxx
                                      smsubl.  */
                                   return 730;
                                 }
@@ -3371,7 +3371,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxx0xxxxx1x11101xxxx
+                                 xxxx10111x1xxxxx0xxxxxxxxxxxxxxx
                                  umaddl.  */
                               return 733;
                             }
@@ -3379,7 +3379,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxx1xxxxx1x11101xxxx
+                                 xxxx10111x1xxxxx1xxxxxxxxxxxxxxx
                                  umsubl.  */
                               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)
                             {
@@ -3423,7 +3423,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx000000000xx0x100000
+                                                                     000001x0xx000000000xxxxxxxxxxxxx
                                                                      add.  */
                                                                   return 1232;
                                                                 }
@@ -3431,9 +3431,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx000000010xx0x100000
+                                                                     000001x0xx010000000xxxxxxxxxxxxx
                                                                      mul.  */
-                                                                  return 1658;
+                                                                  return 1685;
                                                                 }
                                                             }
                                                           else
@@ -3442,17 +3442,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx000000100xx0x100000
+                                                                     000001x0xx001000000xxxxxxxxxxxxx
                                                                      smax.  */
-                                                                  return 1731;
+                                                                  return 1764;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx000000110xx0x100000
+                                                                     000001x0xx011000000xxxxxxxxxxxxx
                                                                      orr.  */
-                                                                  return 1669;
+                                                                  return 1696;
                                                                 }
                                                             }
                                                         }
@@ -3462,17 +3462,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0000010x0xx0x100000
+                                                                 000001x0xx0x0100000xxxxxxxxxxxxx
                                                                  sdiv.  */
-                                                              return 1725;
+                                                              return 1755;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0000011x0xx0x100000
+                                                                 000001x0xx0x1100000xxxxxxxxxxxxx
                                                                  sabd.  */
-                                                              return 1719;
+                                                              return 1746;
                                                             }
                                                         }
                                                     }
@@ -3484,9 +3484,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0000100x0xx0x100000
+                                                                 000001x0xx0x0010000xxxxxxxxxxxxx
                                                                  smulh.  */
-                                                              return 1736;
+                                                              return 1769;
                                                             }
                                                           else
                                                             {
@@ -3494,15 +3494,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx000010100xx0x100000
+                                                                     000001x0xx001010000xxxxxxxxxxxxx
                                                                      smin.  */
-                                                                  return 1734;
+                                                                  return 1767;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx000010110xx0x100000
+                                                                     000001x0xx011010000xxxxxxxxxxxxx
                                                                      and.  */
                                                                   return 1240;
                                                                 }
@@ -3512,9 +3512,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx000011xx0xx0x100000
+                                                             000001x0xx0xx110000xxxxxxxxxxxxx
                                                              sdivr.  */
-                                                          return 1726;
+                                                          return 1756;
                                                         }
                                                     }
                                                 }
@@ -3528,9 +3528,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0001000x0xx0x100000
+                                                                 000001x0xx0x0001000xxxxxxxxxxxxx
                                                                  sub.  */
-                                                              return 1852;
+                                                              return 1885;
                                                             }
                                                           else
                                                             {
@@ -3538,15 +3538,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx000100100xx0x100000
+                                                                     000001x0xx001001000xxxxxxxxxxxxx
                                                                      umax.  */
-                                                                  return 1874;
+                                                                  return 1913;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx000100110xx0x100000
+                                                                     000001x0xx011001000xxxxxxxxxxxxx
                                                                      eor.  */
                                                                   return 1327;
                                                                 }
@@ -3558,17 +3558,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0001010x0xx0x100000
+                                                                 000001x0xx0x0101000xxxxxxxxxxxxx
                                                                  udiv.  */
-                                                              return 1871;
+                                                              return 1907;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0001011x0xx0x100000
+                                                                 000001x0xx0x1101000xxxxxxxxxxxxx
                                                                  uabd.  */
-                                                              return 1865;
+                                                              return 1898;
                                                             }
                                                         }
                                                     }
@@ -3582,17 +3582,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx000110000xx0x100000
+                                                                     000001x0xx000011000xxxxxxxxxxxxx
                                                                      subr.  */
-                                                                  return 1854;
+                                                                  return 1887;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx000110010xx0x100000
+                                                                     000001x0xx010011000xxxxxxxxxxxxx
                                                                      umulh.  */
-                                                                  return 1879;
+                                                                  return 1918;
                                                                 }
                                                             }
                                                           else
@@ -3601,15 +3601,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx000110100xx0x100000
+                                                                     000001x0xx001011000xxxxxxxxxxxxx
                                                                      umin.  */
-                                                                  return 1877;
+                                                                  return 1916;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx000110110xx0x100000
+                                                                     000001x0xx011011000xxxxxxxxxxxxx
                                                                      bic.  */
                                                                   return 1252;
                                                                 }
@@ -3619,9 +3619,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx000111xx0xx0x100000
+                                                             000001x0xx0xx111000xxxxxxxxxxxxx
                                                              udivr.  */
-                                                          return 1872;
+                                                          return 1908;
                                                         }
                                                     }
                                                 }
@@ -3632,17 +3632,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx000xxxxx0x00x100001
+                                                     100001x00x0xxxxx000xxxxxxxxxxxxx
                                                      ld1sb.  */
-                                                  return 1487;
+                                                  return 1514;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx000xxxxx0x10x100001
+                                                     100001x01x0xxxxx000xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1498;
+                                                  return 1525;
                                                 }
                                             }
                                         }
@@ -3652,17 +3652,39 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx000xxxxx0x00x10001x
+                                                 x10001x00x0xxxxx000xxxxxxxxxxxxx
                                                  ld1sb.  */
-                                              return 1491;
+                                              return 1518;
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx000xxxxx0x10x10001x
-                                                 ld1sh.  */
-                                              return 1502;
+                                              if (((word >> 31) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 10) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         010001x01x0xxxxx000xx0xxxxxxxxxx
+                                                         sdot.  */
+                                                      return 1757;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         010001x01x0xxxxx000xx1xxxxxxxxxx
+                                                         udot.  */
+                                                      return 1909;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x01x0xxxxx000xxxxxxxxxxxxx
+                                                     ld1sh.  */
+                                                  return 1529;
+                                                }
                                             }
                                         }
                                     }
@@ -3680,7 +3702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000000xxxxx1xx0x100000
+                                                             000001x0xx1xxxxx000000xxxxxxxxxx
                                                              add.  */
                                                           return 1230;
                                                         }
@@ -3688,18 +3710,18 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx001000xxxxx1xx0x100000
+                                                             000001x0xx1xxxxx000100xxxxxxxxxx
                                                              sqadd.  */
-                                                          return 1738;
+                                                          return 1771;
                                                         }
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx01x000xxxxx1xx0x100000
+                                                         000001x0xx1xxxxx000x10xxxxxxxxxx
                                                          sqsub.  */
-                                                      return 1768;
+                                                      return 1801;
                                                     }
                                                 }
                                               else
@@ -3710,26 +3732,26 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx100000xxxxx1xx0x100000
+                                                             000001x0xx1xxxxx000001xxxxxxxxxx
                                                              sub.  */
-                                                          return 1850;
+                                                          return 1883;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx101000xxxxx1xx0x100000
+                                                             000001x0xx1xxxxx000101xxxxxxxxxx
                                                              uqadd.  */
-                                                          return 1880;
+                                                          return 1919;
                                                         }
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx11x000xxxxx1xx0x100000
+                                                         000001x0xx1xxxxx000x11xxxxxxxxxx
                                                          uqsub.  */
-                                                      return 1910;
+                                                      return 1949;
                                                     }
                                                 }
                                             }
@@ -3739,17 +3761,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx000xxxxx1x00x100001
+                                                     100001x00x1xxxxx000xxxxxxxxxxxxx
                                                      prfb.  */
-                                                  return 1677;
+                                                  return 1704;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx000xxxxx1x10x100001
+                                                     100001x01x1xxxxx000xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1499;
+                                                  return 1526;
                                                 }
                                             }
                                         }
@@ -3759,17 +3781,61 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx000xxxxx1x00x10001x
+                                                 x10001x00x1xxxxx000xxxxxxxxxxxxx
                                                  prfb.  */
-                                              return 1678;
+                                              return 1705;
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx000xxxxx1x10x10001x
-                                                 ld1sh.  */
-                                              return 1503;
+                                              if (((word >> 31) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 10) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0101xxxxx000xx0xxxxxxxxxx
+                                                             sdot.  */
+                                                          return 1758;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0111xxxxx000xx0xxxxxxxxxx
+                                                             sdot.  */
+                                                          return 1759;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0101xxxxx000xx1xxxxxxxxxx
+                                                             udot.  */
+                                                          return 1910;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             010001x0111xxxxx000xx1xxxxxxxxxx
+                                                             udot.  */
+                                                          return 1911;
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     110001x01x1xxxxx000xxxxxxxxxxxxx
+                                                     ld1sh.  */
+                                                  return 1530;
+                                                }
                                             }
                                         }
                                     }
@@ -3792,7 +3858,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0010x0000xx0x100000
+                                                                 000001x0xx0000x0100xxxxxxxxxxxxx
                                                                  asr.  */
                                                               return 1248;
                                                             }
@@ -3800,7 +3866,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0010x0010xx0x100000
+                                                                 000001x0xx0100x0100xxxxxxxxxxxxx
                                                                  asr.  */
                                                               return 1246;
                                                             }
@@ -3809,7 +3875,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx0010x01x0xx0x100000
+                                                             000001x0xx0x10x0100xxxxxxxxxxxxx
                                                              asr.  */
                                                           return 1247;
                                                         }
@@ -3820,7 +3886,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx0010x1x00xx0x100000
+                                                             000001x0xx00x1x0100xxxxxxxxxxxxx
                                                              asrd.  */
                                                           return 1249;
                                                         }
@@ -3828,7 +3894,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx0010x1x10xx0x100000
+                                                             000001x0xx01x1x0100xxxxxxxxxxxxx
                                                              asrr.  */
                                                           return 1250;
                                                         }
@@ -3846,35 +3912,35 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx001100000xx0x100000
+                                                                     000001x0xx000001100xxxxxxxxxxxxx
                                                                      lsr.  */
-                                                                  return 1649;
+                                                                  return 1676;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx001100010xx0x100000
+                                                                     000001x0xx010001100xxxxxxxxxxxxx
                                                                      lsr.  */
-                                                                  return 1647;
+                                                                  return 1674;
                                                                 }
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0011001x0xx0x100000
+                                                                 000001x0xx0x1001100xxxxxxxxxxxxx
                                                                  lsr.  */
-                                                              return 1648;
+                                                              return 1675;
                                                             }
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx001101xx0xx0x100000
+                                                             000001x0xx0xx101100xxxxxxxxxxxxx
                                                              lsrr.  */
-                                                          return 1650;
+                                                          return 1677;
                                                         }
                                                     }
                                                   else
@@ -3887,35 +3953,35 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx001110000xx0x100000
+                                                                     000001x0xx000011100xxxxxxxxxxxxx
                                                                      lsl.  */
-                                                                  return 1643;
+                                                                  return 1670;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx001110010xx0x100000
+                                                                     000001x0xx010011100xxxxxxxxxxxxx
                                                                      lsl.  */
-                                                                  return 1641;
+                                                                  return 1668;
                                                                 }
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0011101x0xx0x100000
+                                                                 000001x0xx0x1011100xxxxxxxxxxxxx
                                                                  lsl.  */
-                                                              return 1642;
+                                                              return 1669;
                                                             }
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx001111xx0xx0x100000
+                                                             000001x0xx0xx111100xxxxxxxxxxxxx
                                                              lslr.  */
-                                                          return 1644;
+                                                          return 1671;
                                                         }
                                                     }
                                                 }
@@ -3928,7 +3994,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx0x0001xxxxx1xx0x100000
+                                                         000001x0xx1xxxxx1000x0xxxxxxxxxx
                                                          asr.  */
                                                       return 1244;
                                                     }
@@ -3936,7 +4002,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx0x1001xxxxx1xx0x100000
+                                                         000001x0xx1xxxxx1001x0xxxxxxxxxx
                                                          asr.  */
                                                       return 1245;
                                                     }
@@ -3949,17 +4015,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx100001xxxxx1xx0x100000
+                                                             000001x0xx1xxxxx100001xxxxxxxxxx
                                                              lsr.  */
-                                                          return 1645;
+                                                          return 1672;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx101001xxxxx1xx0x100000
+                                                             000001x0xx1xxxxx100101xxxxxxxxxx
                                                              lsr.  */
-                                                          return 1646;
+                                                          return 1673;
                                                         }
                                                     }
                                                   else
@@ -3968,17 +4034,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx110001xxxxx1xx0x100000
+                                                             000001x0xx1xxxxx100011xxxxxxxxxx
                                                              lsl.  */
-                                                          return 1639;
+                                                          return 1666;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx111001xxxxx1xx0x100000
+                                                             000001x0xx1xxxxx100111xxxxxxxxxx
                                                              lsl.  */
-                                                          return 1640;
+                                                          return 1667;
                                                         }
                                                     }
                                                 }
@@ -3992,17 +4058,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx001xxxxxx000x100001
+                                                     100001x000xxxxxx100xxxxxxxxxxxxx
                                                      ld1sb.  */
-                                                  return 1493;
+                                                  return 1520;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx001xxxxxx010x100001
+                                                     100001x010xxxxxx100xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1506;
+                                                  return 1533;
                                                 }
                                             }
                                           else
@@ -4011,17 +4077,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx001xxxxxx100x100001
+                                                     100001x001xxxxxx100xxxxxxxxxxxxx
                                                      ld1rb.  */
-                                                  return 1471;
+                                                  return 1490;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx001xxxxxx110x100001
+                                                     100001x011xxxxxx100xxxxxxxxxxxxx
                                                      ld1rsw.  */
-                                                  return 1484;
+                                                  return 1511;
                                                 }
                                             }
                                         }
@@ -4034,17 +4100,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx001xxxxx0x00x10001x
+                                                 x10001x00x0xxxxx100xxxxxxxxxxxxx
                                                  ld1sb.  */
-                                              return 1492;
+                                              return 1519;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx001xxxxx0x10x10001x
+                                                 x10001x01x0xxxxx100xxxxxxxxxxxxx
                                                  ld1sh.  */
-                                              return 1504;
+                                              return 1531;
                                             }
                                         }
                                       else
@@ -4055,17 +4121,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx001xxxxx1000x10001x
+                                                     x10001x0001xxxxx100xxxxxxxxxxxxx
                                                      ld1sb.  */
-                                                  return 1497;
+                                                  return 1524;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx001xxxxx1010x10001x
+                                                     x10001x0101xxxxx100xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1509;
+                                                  return 1536;
                                                 }
                                             }
                                           else
@@ -4074,17 +4140,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx001xxxxx1100x10001x
+                                                     x10001x0011xxxxx100xxxxxxxxxxxxx
                                                      prfb.  */
-                                                  return 1679;
+                                                  return 1706;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx001xxxxx1110x10001x
+                                                     x10001x0111xxxxx100xxxxxxxxxxxxx
                                                      ld1sh.  */
-                                                  return 1505;
+                                                  return 1532;
                                                 }
                                             }
                                         }
@@ -4103,9 +4169,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx010xxxxx0xx0x100000
+                                                 000001x0xx0xxxxx010xxxxxxxxxxxxx
                                                  mla.  */
-                                              return 1652;
+                                              return 1679;
                                             }
                                           else
                                             {
@@ -4113,17 +4179,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx0x00x100001
+                                                     100001x00x0xxxxx010xxxxxxxxxxxxx
                                                      ld1b.  */
-                                                  return 1437;
+                                                  return 1456;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx0x10x100001
+                                                     100001x01x0xxxxx010xxxxxxxxxxxxx
                                                      ld1h.  */
-                                                  return 1457;
+                                                  return 1476;
                                                 }
                                             }
                                         }
@@ -4133,17 +4199,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx010xxxxx0x00x10001x
+                                                 x10001x00x0xxxxx010xxxxxxxxxxxxx
                                                  ld1b.  */
-                                              return 1442;
+                                              return 1461;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx010xxxxx0x10x10001x
+                                                 x10001x01x0xxxxx010xxxxxxxxxxxxx
                                                  ld1h.  */
-                                              return 1462;
+                                              return 1481;
                                             }
                                         }
                                     }
@@ -4161,17 +4227,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000010xxxxx1xx0x100000
+                                                             000001x0xx1xxxxx010000xxxxxxxxxx
                                                              index.  */
-                                                          return 1428;
+                                                          return 1447;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx100010xxxxx1xx0x100000
+                                                             000001x0xx1xxxxx010001xxxxxxxxxx
                                                              index.  */
-                                                          return 1429;
+                                                          return 1448;
                                                         }
                                                     }
                                                   else
@@ -4182,7 +4248,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxx01010xxxxx1000x100000
+                                                                 000001x0001xxxxx01010xxxxxxxxxxx
                                                                  addvl.  */
                                                               return 1234;
                                                             }
@@ -4190,16 +4256,16 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxx01010xxxxx1010x100000
+                                                                 000001x0101xxxxx01010xxxxxxxxxxx
                                                                  rdvl.  */
-                                                              return 1713;
+                                                              return 1740;
                                                             }
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxx01010xxxxx11x0x100000
+                                                             000001x0x11xxxxx01010xxxxxxxxxxx
                                                              addpl.  */
                                                           return 1233;
                                                         }
@@ -4211,17 +4277,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx01x010xxxxx1xx0x100000
+                                                         000001x0xx1xxxxx010x10xxxxxxxxxx
                                                          index.  */
-                                                      return 1430;
+                                                      return 1449;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx11x010xxxxx1xx0x100000
+                                                         000001x0xx1xxxxx010x11xxxxxxxxxx
                                                          index.  */
-                                                      return 1427;
+                                                      return 1446;
                                                     }
                                                 }
                                             }
@@ -4231,17 +4297,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx1x00x100001
+                                                     100001x00x1xxxxx010xxxxxxxxxxxxx
                                                      prfw.  */
-                                                  return 1697;
+                                                  return 1724;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx1x10x100001
+                                                     100001x01x1xxxxx010xxxxxxxxxxxxx
                                                      ld1h.  */
-                                                  return 1458;
+                                                  return 1477;
                                                 }
                                             }
                                         }
@@ -4251,17 +4317,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx010xxxxx1x00x10001x
+                                                 x10001x00x1xxxxx010xxxxxxxxxxxxx
                                                  prfw.  */
-                                              return 1699;
+                                              return 1726;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx010xxxxx1x10x10001x
+                                                 x10001x01x1xxxxx010xxxxxxxxxxxxx
                                                  ld1h.  */
-                                              return 1463;
+                                              return 1482;
                                             }
                                         }
                                     }
@@ -4276,9 +4342,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx011xxxxx0xx0x100000
+                                                 000001x0xx0xxxxx110xxxxxxxxxxxxx
                                                  mad.  */
-                                              return 1651;
+                                              return 1678;
                                             }
                                           else
                                             {
@@ -4292,9 +4358,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00x011xxxx010x0x100000
+                                                                 000001x0x010xxxx110x00xxxxxxxxxx
                                                                  sqincw.  */
-                                                              return 1765;
+                                                              return 1798;
                                                             }
                                                           else
                                                             {
@@ -4302,17 +4368,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00x011xxxx01100x100000
+                                                                     000001x00110xxxx110x00xxxxxxxxxx
                                                                      sqinch.  */
-                                                                  return 1759;
+                                                                  return 1792;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00x011xxxx01110x100000
+                                                                     000001x01110xxxx110x00xxxxxxxxxx
                                                                      sqincd.  */
-                                                                  return 1756;
+                                                                  return 1789;
                                                                 }
                                                             }
                                                         }
@@ -4322,9 +4388,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00x011xxxx110x0x100000
+                                                                 000001x0x011xxxx110x00xxxxxxxxxx
                                                                  incw.  */
-                                                              return 1425;
+                                                              return 1444;
                                                             }
                                                           else
                                                             {
@@ -4332,17 +4398,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00x011xxxx11100x100000
+                                                                     000001x00111xxxx110x00xxxxxxxxxx
                                                                      inch.  */
-                                                                  return 1421;
+                                                                  return 1440;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00x011xxxx11110x100000
+                                                                     000001x01111xxxx110x00xxxxxxxxxx
                                                                      incd.  */
-                                                                  return 1419;
+                                                                  return 1438;
                                                                 }
                                                             }
                                                         }
@@ -4353,9 +4419,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx01x011xxxxx10x0x100000
+                                                             000001x0x01xxxxx110x10xxxxxxxxxx
                                                              sqdecw.  */
-                                                          return 1751;
+                                                          return 1784;
                                                         }
                                                       else
                                                         {
@@ -4363,17 +4429,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx01x011xxxxx1100x100000
+                                                                 000001x0011xxxxx110x10xxxxxxxxxx
                                                                  sqdech.  */
-                                                              return 1745;
+                                                              return 1778;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx01x011xxxxx1110x100000
+                                                                 000001x0111xxxxx110x10xxxxxxxxxx
                                                                  sqdecd.  */
-                                                              return 1742;
+                                                              return 1775;
                                                             }
                                                         }
                                                     }
@@ -4388,9 +4454,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx10x011xxxx010x0x100000
+                                                                 000001x0x010xxxx110x01xxxxxxxxxx
                                                                  uqincw.  */
-                                                              return 1907;
+                                                              return 1946;
                                                             }
                                                           else
                                                             {
@@ -4398,17 +4464,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx10x011xxxx01100x100000
+                                                                     000001x00110xxxx110x01xxxxxxxxxx
                                                                      uqinch.  */
-                                                                  return 1901;
+                                                                  return 1940;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx10x011xxxx01110x100000
+                                                                     000001x01110xxxx110x01xxxxxxxxxx
                                                                      uqincd.  */
-                                                                  return 1898;
+                                                                  return 1937;
                                                                 }
                                                             }
                                                         }
@@ -4418,7 +4484,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx10x011xxxx110x0x100000
+                                                                 000001x0x011xxxx110x01xxxxxxxxxx
                                                                  decw.  */
                                                               return 1319;
                                                             }
@@ -4428,7 +4494,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx10x011xxxx11100x100000
+                                                                     000001x00111xxxx110x01xxxxxxxxxx
                                                                      dech.  */
                                                                   return 1315;
                                                                 }
@@ -4436,7 +4502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx10x011xxxx11110x100000
+                                                                     000001x01111xxxx110x01xxxxxxxxxx
                                                                      decd.  */
                                                                   return 1313;
                                                                 }
@@ -4449,9 +4515,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx11x011xxxxx10x0x100000
+                                                             000001x0x01xxxxx110x11xxxxxxxxxx
                                                              uqdecw.  */
-                                                          return 1893;
+                                                          return 1932;
                                                         }
                                                       else
                                                         {
@@ -4459,17 +4525,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx11x011xxxxx1100x100000
+                                                                 000001x0011xxxxx110x11xxxxxxxxxx
                                                                  uqdech.  */
-                                                              return 1887;
+                                                              return 1926;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx11x011xxxxx1110x100000
+                                                                 000001x0111xxxxx110x11xxxxxxxxxx
                                                                  uqdecd.  */
-                                                              return 1884;
+                                                              return 1923;
                                                             }
                                                         }
                                                     }
@@ -4486,17 +4552,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx0000x100001
+                                                         100001x0000xxxxx110xxxxxxxxxxxxx
                                                          prfb.  */
-                                                      return 1676;
+                                                      return 1703;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx0010x100001
+                                                         100001x0100xxxxx110xxxxxxxxxxxxx
                                                          prfh.  */
-                                                      return 1691;
+                                                      return 1718;
                                                     }
                                                 }
                                               else
@@ -4505,17 +4571,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx1000x100001
+                                                         100001x0001xxxxx110xxxxxxxxxxxxx
                                                          ld1b.  */
-                                                      return 1444;
+                                                      return 1463;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx1010x100001
+                                                         100001x0101xxxxx110xxxxxxxxxxxxx
                                                          ld1h.  */
-                                                      return 1466;
+                                                      return 1485;
                                                     }
                                                 }
                                             }
@@ -4525,17 +4591,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx011xxxxxx100x100001
+                                                     100001x001xxxxxx110xxxxxxxxxxxxx
                                                      ld1rb.  */
-                                                  return 1473;
+                                                  return 1492;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx011xxxxxx110x100001
+                                                     100001x011xxxxxx110xxxxxxxxxxxxx
                                                      ld1rh.  */
-                                                  return 1477;
+                                                  return 1496;
                                                 }
                                             }
                                         }
@@ -4548,17 +4614,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx011xxxxx0x00x10001x
+                                                 x10001x00x0xxxxx110xxxxxxxxxxxxx
                                                  ld1b.  */
-                                              return 1443;
+                                              return 1462;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx011xxxxx0x10x10001x
+                                                 x10001x01x0xxxxx110xxxxxxxxxxxxx
                                                  ld1h.  */
-                                              return 1464;
+                                              return 1483;
                                             }
                                         }
                                       else
@@ -4569,17 +4635,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx011xxxxx1000x10001x
+                                                     x10001x0001xxxxx110xxxxxxxxxxxxx
                                                      ld1b.  */
-                                                  return 1449;
+                                                  return 1468;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx011xxxxx1010x10001x
+                                                     x10001x0101xxxxx110xxxxxxxxxxxxx
                                                      ld1h.  */
-                                                  return 1470;
+                                                  return 1489;
                                                 }
                                             }
                                           else
@@ -4588,17 +4654,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx011xxxxx1100x10001x
+                                                     x10001x0011xxxxx110xxxxxxxxxxxxx
                                                      prfw.  */
-                                                  return 1700;
+                                                  return 1727;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx011xxxxx1110x10001x
+                                                     x10001x0111xxxxx110xxxxxxxxxxxxx
                                                      ld1h.  */
-                                                  return 1465;
+                                                  return 1484;
                                                 }
                                             }
                                         }
@@ -4608,587 +4674,158 @@ 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 1285;
-                                        }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxx1xxxxxxxx000xxxxx0xx0x1001xx
-                                             cmphi.  */
-                                          return 1282;
-                                        }
-                                    }
-                                  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 1276;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxx1xxxxxxxx010xxxxx0xx0x100100
-                                                     cmpgt.  */
-                                                  return 1279;
-                                                }
-                                            }
-                                          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 1438;
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 16) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx000x00001xxxxxxxxxxxxx
+                                                                 saddv.  */
+                                                              return 1747;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx000x01001xxxxxxxxxxxxx
+                                                                 uaddv.  */
+                                                              return 1899;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx010x0x001xxxxxxxxxxxxx
+                                                             movprfx.  */
+                                                          return 1682;
+                                                        }
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx010xxxxx0010x100101
-                                                         ld1sw.  */
-                                                      return 1510;
+                                                      if (((word >> 16) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx001x00001xxxxxxxxxxxxx
+                                                                 smaxv.  */
+                                                              return 1765;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx011x00001xxxxxxxxxxxxx
+                                                                 orv.  */
+                                                              return 1699;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 20) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx001x01001xxxxxxxxxxxxx
+                                                                 umaxv.  */
+                                                              return 1914;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx011x01001xxxxxxxxxxxxx
+                                                                 eorv.  */
+                                                              return 1330;
+                                                            }
+                                                        }
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 16) & 0x1) == 0)
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx010xxxxx0100x100101
-                                                         ld1b.  */
-                                                      return 1440;
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx00xx10001xxxxxxxxxxxxx
+                                                             sminv.  */
+                                                          return 1768;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx01xx10001xxxxxxxxxxxxx
+                                                             andv.  */
+                                                          return 1243;
+                                                        }
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx010xxxxx0110x100101
-                                                         ld1h.  */
-                                                      return 1460;
+                                                         000001x0xx0xxx11001xxxxxxxxxxxxx
+                                                         uminv.  */
+                                                      return 1917;
                                                     }
                                                 }
                                             }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx010xxxxx00x0x10011x
-                                                 st1b.  */
-                                              return 1770;
-                                            }
                                           else
                                             {
                                               if (((word >> 23) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx0100x10011x
-                                                     st1b.  */
-                                                  return 1774;
+                                                     100001x00x0xxxxx001xxxxxxxxxxxxx
+                                                     ldff1sb.  */
+                                                  return 1606;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx0110x10011x
-                                                     st1h.  */
-                                                  return 1795;
+                                                     100001x01x0xxxxx001xxxxxxxxxxxxx
+                                                     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 1277;
+                                                 x10001x00x0xxxxx001xxxxxxxxxxxxx
+                                                 ldff1sb.  */
+                                              return 1610;
                                             }
                                           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 1629;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx0010x100101
-                                                         ldnt1h.  */
-                                                      return 1633;
-                                                    }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 23) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx0100x100101
-                                                         ld3b.  */
-                                                      return 1537;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx0110x100101
-                                                         ld3h.  */
-                                                      return 1541;
-                                                    }
-                                                }
-                                            }
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 22) & 0x1) == 0)
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx0000x10011x
-                                                 st1b.  */
-                                              return 1771;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx0010x10011x
-                                                 st1h.  */
-                                              return 1790;
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx0100x10011x
-                                                 st1b.  */
-                                              return 1775;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx0110x10011x
-                                                 st1h.  */
-                                              return 1796;
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                          else
-                            {
-                              if (((word >> 30) & 0x1) == 0)
-                                {
-                                  if (((word >> 31) & 0x1) == 0)
-                                    {
-                                      if (((word >> 4) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxx0xxxxxxxx0xxxxxxx1xx0x100100
-                                             cmphs.  */
-                                          return 1287;
-                                        }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxx1xxxxxxxx0xxxxxxx1xx0x100100
-                                             cmphi.  */
-                                          return 1284;
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 15) & 0x1) == 0)
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx0x0xxxxx1000x100101
-                                                     ld1b.  */
-                                                  return 1439;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx0x0xxxxx1010x100101
-                                                     ld1h.  */
-                                                  return 1459;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx0x0xxxxx1100x100101
-                                                     ld1b.  */
-                                                  return 1441;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx0x0xxxxx1110x100101
-                                                     ld1h.  */
-                                                  return 1461;
-                                                }
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx0x1xxxxx1000x100101
-                                                     ld2b.  */
-                                                  return 1529;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx0x1xxxxx1010x100101
-                                                     ld2h.  */
-                                                  return 1533;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx0x1xxxxx1100x100101
-                                                     ld4b.  */
-                                                  return 1545;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx0x1xxxxx1110x100101
-                                                     ld4h.  */
-                                                  return 1549;
-                                                }
-                                            }
-                                        }
-                                    }
-                                }
-                              else
-                                {
-                                  if (((word >> 15) & 0x1) == 0)
-                                    {
-                                      if (((word >> 22) & 0x1) == 0)
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x0xxxxx1000x10011x
-                                                 st1b.  */
-                                              return 1773;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x0xxxxx1010x10011x
-                                                 st1h.  */
-                                              return 1792;
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x0xxxxx1100x10011x
-                                                 st1b.  */
-                                              return 1776;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x0xxxxx1110x10011x
-                                                 st1h.  */
-                                              return 1797;
-                                            }
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 22) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxxxxxxxxxxx0x1xxxxx10x0x10011x
-                                             st1h.  */
-                                          return 1793;
-                                        }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxxxxxxxxxxx0x1xxxxx11x0x10011x
-                                             st1h.  */
-                                          return 1798;
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                    }
-                  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 1720;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx10010x000xx0x100000
-                                                                 uaddv.  */
-                                                              return 1866;
-                                                            }
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx100x0x010xx0x100000
-                                                             movprfx.  */
-                                                          return 1655;
-                                                        }
-                                                    }
-                                                  else
-                                                    {
-                                                      if (((word >> 16) & 0x1) == 0)
-                                                        {
-                                                          if (((word >> 20) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx10000x100xx0x100000
-                                                                 smaxv.  */
-                                                              return 1732;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx10000x110xx0x100000
-                                                                 orv.  */
-                                                              return 1672;
-                                                            }
-                                                        }
-                                                      else
-                                                        {
-                                                          if (((word >> 20) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx10010x100xx0x100000
-                                                                 umaxv.  */
-                                                              return 1875;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx10010x110xx0x100000
-                                                                 eorv.  */
-                                                              return 1330;
-                                                            }
-                                                        }
-                                                    }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 16) & 0x1) == 0)
-                                                    {
-                                                      if (((word >> 20) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx10001xx00xx0x100000
-                                                             sminv.  */
-                                                          return 1735;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx10001xx10xx0x100000
-                                                             andv.  */
-                                                          return 1243;
-                                                        }
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx10011xxx0xx0x100000
-                                                         uminv.  */
-                                                      return 1878;
-                                                    }
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx100xxxxx0x00x100001
-                                                     ldff1sb.  */
-                                                  return 1579;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx100xxxxx0x10x100001
-                                                     ldff1sh.  */
-                                                  return 1587;
-                                                }
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx100xxxxx0x00x10001x
-                                                 ldff1sb.  */
-                                              return 1583;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx100xxxxx0x10x10001x
-                                                 ldff1sh.  */
-                                              return 1591;
+                                                 x10001x01x0xxxxx001xxxxxxxxxxxxx
+                                                 ldff1sh.  */
+                                              return 1618;
                                             }
                                         }
                                     }
@@ -5204,7 +4841,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx100xxxxx1000x100000
+                                                         000001x0001xxxxx001xxxxxxxxxxxxx
                                                          and.  */
                                                       return 1238;
                                                     }
@@ -5212,27 +4849,27 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx100xxxxx1100x100000
+                                                         000001x0011xxxxx001xxxxxxxxxxxxx
                                                          orr.  */
-                                                      return 1667;
+                                                      return 1694;
                                                     }
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx100xxxxx1x00x100001
+                                                     100001x00x1xxxxx001xxxxxxxxxxxxx
                                                      prfh.  */
-                                                  return 1690;
+                                                  return 1717;
                                                 }
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx100xxxxx1x00x10001x
+                                                 x10001x00x1xxxxx001xxxxxxxxxxxxx
                                                  prfh.  */
-                                              return 1692;
+                                              return 1719;
                                             }
                                         }
                                       else
@@ -5245,7 +4882,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx100xxxxx1010x100000
+                                                         000001x0101xxxxx001xxxxxxxxxxxxx
                                                          eor.  */
                                                       return 1325;
                                                     }
@@ -5253,7 +4890,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx100xxxxx1110x100000
+                                                         000001x0111xxxxx001xxxxxxxxxxxxx
                                                          bic.  */
                                                       return 1251;
                                                     }
@@ -5262,18 +4899,18 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx100xxxxx1x10x100001
+                                                     100001x01x1xxxxx001xxxxxxxxxxxxx
                                                      ldff1sh.  */
-                                                  return 1588;
+                                                  return 1615;
                                                 }
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx100xxxxx1x10x10001x
+                                                 x10001x01x1xxxxx001xxxxxxxxxxxxx
                                                  ldff1sh.  */
-                                              return 1592;
+                                              return 1619;
                                             }
                                         }
                                     }
@@ -5296,15 +4933,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx1010000x0xx0x100000
+                                                                 000001x0xx0x0000101xxxxxxxxxxxxx
                                                                  sxtb.  */
-                                                              return 1857;
+                                                              return 1890;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx1010001x0xx0x100000
+                                                                 000001x0xx0x1000101xxxxxxxxxxxxx
                                                                  cls.  */
                                                               return 1271;
                                                             }
@@ -5315,15 +4952,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx1010010x0xx0x100000
+                                                                 000001x0xx0x0100101xxxxxxxxxxxxx
                                                                  sxtw.  */
-                                                              return 1859;
+                                                              return 1892;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx1010011x0xx0x100000
+                                                                 000001x0xx0x1100101xxxxxxxxxxxxx
                                                                  fabs.  */
                                                               return 1333;
                                                             }
@@ -5337,15 +4974,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx1010100x0xx0x100000
+                                                                 000001x0xx0x0010101xxxxxxxxxxxxx
                                                                  sxth.  */
-                                                              return 1858;
+                                                              return 1891;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx1010101x0xx0x100000
+                                                                 000001x0xx0x1010101xxxxxxxxxxxxx
                                                                  cnt.  */
                                                               return 1300;
                                                             }
@@ -5356,7 +4993,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx1010110x0xx0x100000
+                                                                 000001x0xx0x0110101xxxxxxxxxxxxx
                                                                  abs.  */
                                                               return 1229;
                                                             }
@@ -5364,9 +5001,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx1010111x0xx0x100000
+                                                                 000001x0xx0x1110101xxxxxxxxxxxxx
                                                                  not.  */
-                                                              return 1664;
+                                                              return 1691;
                                                             }
                                                         }
                                                     }
@@ -5381,15 +5018,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx1011000x0xx0x100000
+                                                                 000001x0xx0x0001101xxxxxxxxxxxxx
                                                                  uxtb.  */
-                                                              return 1914;
+                                                              return 1953;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx1011001x0xx0x100000
+                                                                 000001x0xx0x1001101xxxxxxxxxxxxx
                                                                  clz.  */
                                                               return 1272;
                                                             }
@@ -5400,17 +5037,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx1011010x0xx0x100000
+                                                                 000001x0xx0x0101101xxxxxxxxxxxxx
                                                                  uxtw.  */
-                                                              return 1916;
+                                                              return 1955;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx1011011x0xx0x100000
+                                                                 000001x0xx0x1101101xxxxxxxxxxxxx
                                                                  fneg.  */
-                                                              return 1391;
+                                                              return 1410;
                                                             }
                                                         }
                                                     }
@@ -5422,15 +5059,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx1011100x0xx0x100000
+                                                                 000001x0xx0x0011101xxxxxxxxxxxxx
                                                                  uxth.  */
-                                                              return 1915;
+                                                              return 1954;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx1011101x0xx0x100000
+                                                                 000001x0xx0x1011101xxxxxxxxxxxxx
                                                                  cnot.  */
                                                               return 1299;
                                                             }
@@ -5439,9 +5076,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx101111xx0xx0x100000
+                                                             000001x0xx0xx111101xxxxxxxxxxxxx
                                                              neg.  */
-                                                          return 1661;
+                                                          return 1688;
                                                         }
                                                     }
                                                 }
@@ -5456,7 +5093,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxx0101xxxxx1000x100000
+                                                             000001x0001xxxxx1010xxxxxxxxxxxx
                                                              adr.  */
                                                           return 1235;
                                                         }
@@ -5464,7 +5101,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxx0101xxxxx1100x100000
+                                                             000001x0011xxxxx1010xxxxxxxxxxxx
                                                              adr.  */
                                                           return 1236;
                                                         }
@@ -5473,7 +5110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxx0101xxxxx1x10x100000
+                                                         000001x01x1xxxxx1010xxxxxxxxxxxx
                                                          adr.  */
                                                       return 1237;
                                                     }
@@ -5486,26 +5123,26 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx001101xxxxx1xx0x100000
+                                                             000001x0xx1xxxxx101100xxxxxxxxxx
                                                              ftssel.  */
-                                                          return 1417;
+                                                          return 1436;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx011101xxxxx1xx0x100000
+                                                             000001x0xx1xxxxx101110xxxxxxxxxx
                                                              fexpa.  */
-                                                          return 1370;
+                                                          return 1380;
                                                         }
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1x1101xxxxx1xx0x100000
+                                                         000001x0xx1xxxxx1011x1xxxxxxxxxx
                                                          movprfx.  */
-                                                      return 1654;
+                                                      return 1681;
                                                     }
                                                 }
                                             }
@@ -5518,17 +5155,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxxx000x100001
+                                                     100001x000xxxxxx101xxxxxxxxxxxxx
                                                      ldff1sb.  */
-                                                  return 1585;
+                                                  return 1612;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxxx010x100001
+                                                     100001x010xxxxxx101xxxxxxxxxxxxx
                                                      ldff1sh.  */
-                                                  return 1595;
+                                                  return 1622;
                                                 }
                                             }
                                           else
@@ -5537,17 +5174,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxxx100x100001
+                                                     100001x001xxxxxx101xxxxxxxxxxxxx
                                                      ld1rb.  */
-                                                  return 1472;
+                                                  return 1491;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxxx110x100001
+                                                     100001x011xxxxxx101xxxxxxxxxxxxx
                                                      ld1rh.  */
-                                                  return 1476;
+                                                  return 1495;
                                                 }
                                             }
                                         }
@@ -5560,17 +5197,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx101xxxxx0x00x10001x
+                                                 x10001x00x0xxxxx101xxxxxxxxxxxxx
                                                  ldff1sb.  */
-                                              return 1584;
+                                              return 1611;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx101xxxxx0x10x10001x
+                                                 x10001x01x0xxxxx101xxxxxxxxxxxxx
                                                  ldff1sh.  */
-                                              return 1593;
+                                              return 1620;
                                             }
                                         }
                                       else
@@ -5581,17 +5218,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx1000x10001x
+                                                     x10001x0001xxxxx101xxxxxxxxxxxxx
                                                      ldff1sb.  */
-                                                  return 1586;
+                                                  return 1613;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx1010x10001x
+                                                     x10001x0101xxxxx101xxxxxxxxxxxxx
                                                      ldff1sh.  */
-                                                  return 1596;
+                                                  return 1623;
                                                 }
                                             }
                                           else
@@ -5600,17 +5237,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx1100x10001x
+                                                     x10001x0011xxxxx101xxxxxxxxxxxxx
                                                      prfh.  */
-                                                  return 1693;
+                                                  return 1720;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx1110x10001x
+                                                     x10001x0111xxxxx101xxxxxxxxxxxxx
                                                      ldff1sh.  */
-                                                  return 1594;
+                                                  return 1621;
                                                 }
                                             }
                                         }
@@ -5629,9 +5266,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx110xxxxx0xx0x100000
+                                                 000001x0xx0xxxxx011xxxxxxxxxxxxx
                                                  mls.  */
-                                              return 1653;
+                                              return 1680;
                                             }
                                           else
                                             {
@@ -5639,17 +5276,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx0x00x100001
+                                                     100001x00x0xxxxx011xxxxxxxxxxxxx
                                                      ldff1b.  */
-                                                  return 1553;
+                                                  return 1580;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx0x10x100001
+                                                     100001x01x0xxxxx011xxxxxxxxxxxxx
                                                      ldff1h.  */
-                                                  return 1568;
+                                                  return 1595;
                                                 }
                                             }
                                         }
@@ -5659,17 +5296,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx110xxxxx0x00x10001x
+                                                 x10001x00x0xxxxx011xxxxxxxxxxxxx
                                                  ldff1b.  */
-                                              return 1558;
+                                              return 1585;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx110xxxxx0x10x10001x
+                                                 x10001x01x0xxxxx011xxxxxxxxxxxxx
                                                  ldff1h.  */
-                                              return 1573;
+                                              return 1600;
                                             }
                                         }
                                     }
@@ -5681,17 +5318,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx110xxxxx1x00x10000x
+                                                 x00001x00x1xxxxx011xxxxxxxxxxxxx
                                                  prfd.  */
-                                              return 1683;
+                                              return 1710;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx110xxxxx1x00x10001x
+                                                 x10001x00x1xxxxx011xxxxxxxxxxxxx
                                                  prfd.  */
-                                              return 1685;
+                                              return 1712;
                                             }
                                         }
                                       else
@@ -5700,17 +5337,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx110xxxxx1x10x10000x
+                                                 x00001x01x1xxxxx011xxxxxxxxxxxxx
                                                  ldff1h.  */
-                                              return 1569;
+                                              return 1596;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx110xxxxx1x10x10001x
+                                                 x10001x01x1xxxxx011xxxxxxxxxxxxx
                                                  ldff1h.  */
-                                              return 1574;
+                                              return 1601;
                                             }
                                         }
                                     }
@@ -5725,9 +5362,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx111xxxxx0xx0x100000
+                                                 000001x0xx0xxxxx111xxxxxxxxxxxxx
                                                  msb.  */
-                                              return 1656;
+                                              return 1683;
                                             }
                                           else
                                             {
@@ -5745,7 +5382,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000111xxxx01000x100000
+                                                                         000001x00010xxxx111000xxxxxxxxxx
                                                                          cntb.  */
                                                                       return 1301;
                                                                     }
@@ -5753,7 +5390,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000111xxxx01010x100000
+                                                                         000001x01010xxxx111000xxxxxxxxxx
                                                                          cntw.  */
                                                                       return 1305;
                                                                     }
@@ -5764,7 +5401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000111xxxx01100x100000
+                                                                         000001x00110xxxx111000xxxxxxxxxx
                                                                          cnth.  */
                                                                       return 1303;
                                                                     }
@@ -5772,7 +5409,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000111xxxx01110x100000
+                                                                         000001x01110xxxx111000xxxxxxxxxx
                                                                          cntd.  */
                                                                       return 1302;
                                                                     }
@@ -5786,17 +5423,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000111xxxx11000x100000
+                                                                         000001x00011xxxx111000xxxxxxxxxx
                                                                          incb.  */
-                                                                      return 1418;
+                                                                      return 1437;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000111xxxx11010x100000
+                                                                         000001x01011xxxx111000xxxxxxxxxx
                                                                          incw.  */
-                                                                      return 1426;
+                                                                      return 1445;
                                                                     }
                                                                 }
                                                               else
@@ -5805,17 +5442,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000111xxxx11100x100000
+                                                                         000001x00111xxxx111000xxxxxxxxxx
                                                                          inch.  */
-                                                                      return 1422;
+                                                                      return 1441;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000111xxxx11110x100000
+                                                                         000001x01111xxxx111000xxxxxxxxxx
                                                                          incd.  */
-                                                                      return 1420;
+                                                                      return 1439;
                                                                     }
                                                                 }
                                                             }
@@ -5830,17 +5467,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx001111xxxx01000x100000
+                                                                         000001x00010xxxx111100xxxxxxxxxx
                                                                          sqincb.  */
-                                                                      return 1755;
+                                                                      return 1788;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx001111xxxx01010x100000
+                                                                         000001x01010xxxx111100xxxxxxxxxx
                                                                          sqincw.  */
-                                                                      return 1767;
+                                                                      return 1800;
                                                                     }
                                                                 }
                                                               else
@@ -5849,17 +5486,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx001111xxxx01100x100000
+                                                                         000001x00110xxxx111100xxxxxxxxxx
                                                                          sqinch.  */
-                                                                      return 1761;
+                                                                      return 1794;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx001111xxxx01110x100000
+                                                                         000001x01110xxxx111100xxxxxxxxxx
                                                                          sqincd.  */
-                                                                      return 1758;
+                                                                      return 1791;
                                                                     }
                                                                 }
                                                             }
@@ -5871,17 +5508,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx001111xxxx11000x100000
+                                                                         000001x00011xxxx111100xxxxxxxxxx
                                                                          sqincb.  */
-                                                                      return 1754;
+                                                                      return 1787;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx001111xxxx11010x100000
+                                                                         000001x01011xxxx111100xxxxxxxxxx
                                                                          sqincw.  */
-                                                                      return 1766;
+                                                                      return 1799;
                                                                     }
                                                                 }
                                                               else
@@ -5890,17 +5527,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx001111xxxx11100x100000
+                                                                         000001x00111xxxx111100xxxxxxxxxx
                                                                          sqinch.  */
-                                                                      return 1760;
+                                                                      return 1793;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx001111xxxx11110x100000
+                                                                         000001x01111xxxx111100xxxxxxxxxx
                                                                          sqincd.  */
-                                                                      return 1757;
+                                                                      return 1790;
                                                                     }
                                                                 }
                                                             }
@@ -5916,17 +5553,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx01x111xxxx01000x100000
+                                                                     000001x00010xxxx111x10xxxxxxxxxx
                                                                      sqdecb.  */
-                                                                  return 1741;
+                                                                  return 1774;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx01x111xxxx01010x100000
+                                                                     000001x01010xxxx111x10xxxxxxxxxx
                                                                      sqdecw.  */
-                                                                  return 1753;
+                                                                  return 1786;
                                                                 }
                                                             }
                                                           else
@@ -5935,17 +5572,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx01x111xxxx01100x100000
+                                                                     000001x00110xxxx111x10xxxxxxxxxx
                                                                      sqdech.  */
-                                                                  return 1747;
+                                                                  return 1780;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx01x111xxxx01110x100000
+                                                                     000001x01110xxxx111x10xxxxxxxxxx
                                                                      sqdecd.  */
-                                                                  return 1744;
+                                                                  return 1777;
                                                                 }
                                                             }
                                                         }
@@ -5957,17 +5594,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx01x111xxxx11000x100000
+                                                                     000001x00011xxxx111x10xxxxxxxxxx
                                                                      sqdecb.  */
-                                                                  return 1740;
+                                                                  return 1773;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx01x111xxxx11010x100000
+                                                                     000001x01011xxxx111x10xxxxxxxxxx
                                                                      sqdecw.  */
-                                                                  return 1752;
+                                                                  return 1785;
                                                                 }
                                                             }
                                                           else
@@ -5976,17 +5613,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx01x111xxxx11100x100000
+                                                                     000001x00111xxxx111x10xxxxxxxxxx
                                                                      sqdech.  */
-                                                                  return 1746;
+                                                                  return 1779;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx01x111xxxx11110x100000
+                                                                     000001x01111xxxx111x10xxxxxxxxxx
                                                                      sqdecd.  */
-                                                                  return 1743;
+                                                                  return 1776;
                                                                 }
                                                             }
                                                         }
@@ -6004,7 +5641,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx100111xxxxx1000x100000
+                                                                     000001x0001xxxxx111001xxxxxxxxxx
                                                                      decb.  */
                                                                   return 1312;
                                                                 }
@@ -6012,7 +5649,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx100111xxxxx1010x100000
+                                                                     000001x0101xxxxx111001xxxxxxxxxx
                                                                      decw.  */
                                                                   return 1320;
                                                                 }
@@ -6023,7 +5660,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx100111xxxxx1100x100000
+                                                                     000001x0011xxxxx111001xxxxxxxxxx
                                                                      dech.  */
                                                                   return 1316;
                                                                 }
@@ -6031,7 +5668,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx100111xxxxx1110x100000
+                                                                     000001x0111xxxxx111001xxxxxxxxxx
                                                                      decd.  */
                                                                   return 1314;
                                                                 }
@@ -6047,17 +5684,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx101111xxxx01000x100000
+                                                                         000001x00010xxxx111101xxxxxxxxxx
                                                                          uqincb.  */
-                                                                      return 1896;
+                                                                      return 1935;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx101111xxxx01010x100000
+                                                                         000001x01010xxxx111101xxxxxxxxxx
                                                                          uqincw.  */
-                                                                      return 1908;
+                                                                      return 1947;
                                                                     }
                                                                 }
                                                               else
@@ -6066,17 +5703,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx101111xxxx01100x100000
+                                                                         000001x00110xxxx111101xxxxxxxxxx
                                                                          uqinch.  */
-                                                                      return 1902;
+                                                                      return 1941;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx101111xxxx01110x100000
+                                                                         000001x01110xxxx111101xxxxxxxxxx
                                                                          uqincd.  */
-                                                                      return 1899;
+                                                                      return 1938;
                                                                     }
                                                                 }
                                                             }
@@ -6088,17 +5725,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx101111xxxx11000x100000
+                                                                         000001x00011xxxx111101xxxxxxxxxx
                                                                          uqincb.  */
-                                                                      return 1897;
+                                                                      return 1936;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx101111xxxx11010x100000
+                                                                         000001x01011xxxx111101xxxxxxxxxx
                                                                          uqincw.  */
-                                                                      return 1909;
+                                                                      return 1948;
                                                                     }
                                                                 }
                                                               else
@@ -6107,17 +5744,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx101111xxxx11100x100000
+                                                                         000001x00111xxxx111101xxxxxxxxxx
                                                                          uqinch.  */
-                                                                      return 1903;
+                                                                      return 1942;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx101111xxxx11110x100000
+                                                                         000001x01111xxxx111101xxxxxxxxxx
                                                                          uqincd.  */
-                                                                      return 1900;
+                                                                      return 1939;
                                                                     }
                                                                 }
                                                             }
@@ -6133,17 +5770,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx11x111xxxx01000x100000
+                                                                     000001x00010xxxx111x11xxxxxxxxxx
                                                                      uqdecb.  */
-                                                                  return 1882;
+                                                                  return 1921;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx11x111xxxx01010x100000
+                                                                     000001x01010xxxx111x11xxxxxxxxxx
                                                                      uqdecw.  */
-                                                                  return 1894;
+                                                                  return 1933;
                                                                 }
                                                             }
                                                           else
@@ -6152,17 +5789,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx11x111xxxx01100x100000
+                                                                     000001x00110xxxx111x11xxxxxxxxxx
                                                                      uqdech.  */
-                                                                  return 1888;
+                                                                  return 1927;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx11x111xxxx01110x100000
+                                                                     000001x01110xxxx111x11xxxxxxxxxx
                                                                      uqdecd.  */
-                                                                  return 1885;
+                                                                  return 1924;
                                                                 }
                                                             }
                                                         }
@@ -6174,17 +5811,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx11x111xxxx11000x100000
+                                                                     000001x00011xxxx111x11xxxxxxxxxx
                                                                      uqdecb.  */
-                                                                  return 1883;
+                                                                  return 1922;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx11x111xxxx11010x100000
+                                                                     000001x01011xxxx111x11xxxxxxxxxx
                                                                      uqdecw.  */
-                                                                  return 1895;
+                                                                  return 1934;
                                                                 }
                                                             }
                                                           else
@@ -6193,17 +5830,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx11x111xxxx11100x100000
+                                                                     000001x00111xxxx111x11xxxxxxxxxx
                                                                      uqdech.  */
-                                                                  return 1889;
+                                                                  return 1928;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx11x111xxxx11110x100000
+                                                                     000001x01111xxxx111x11xxxxxxxxxx
                                                                      uqdecd.  */
-                                                                  return 1886;
+                                                                  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
+                                                         100001x0000xxxxx111xxxxxxxxxxxxx
+                                                         prfb.  */
+                                                      return 1707;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x0100xxxxx111xxxxxxxxxxxxx
+                                                         prfh.  */
+                                                      return 1721;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x0001xxxxx111xxxxxxxxxxxxx
+                                                         ldff1b.  */
+                                                      return 1587;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         100001x0101xxxxx111xxxxxxxxxxxxx
+                                                         ldff1h.  */
+                                                      return 1604;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x001xxxxxx111xxxxxxxxxxxxx
+                                                     ld1rb.  */
+                                                  return 1493;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     100001x011xxxxxx111xxxxxxxxxxxxx
+                                                     ld1rh.  */
+                                                  return 1497;
+                                                }
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 21) & 0x1) == 0)
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x10001x0000xxxxx111xxxxxxxxxxxxx
+                                                     prfb.  */
+                                                  return 1709;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x10001x0100xxxxx111xxxxxxxxxxxxx
+                                                     prfh.  */
+                                                  return 1723;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x10001x0010xxxxx111xxxxxxxxxxxxx
+                                                     ldff1b.  */
+                                                  return 1586;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x10001x0110xxxxx111xxxxxxxxxxxxx
+                                                     ldff1h.  */
+                                                  return 1602;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x10001x0001xxxxx111xxxxxxxxxxxxx
+                                                     ldff1b.  */
+                                                  return 1588;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x10001x0101xxxxx111xxxxxxxxxxxxx
+                                                     ldff1h.  */
+                                                  return 1605;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x10001x0011xxxxx111xxxxxxxxxxxxx
+                                                     prfd.  */
+                                                  return 1713;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x10001x0111xxxxx111xxxxxxxxxxxxx
+                                                     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
+                                                     001001x0xx0xxxxx000xxxxxxxx0xxxx
+                                                     cmphs.  */
+                                                  return 1285;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx000xxxxxxxx1xxxx
+                                                     cmphi.  */
+                                                  return 1282;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x00x0xxxxx000xxxxxxxxxxxxx
+                                                     ld1rqb.  */
+                                                  return 1499;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x01x0xxxxx000xxxxxxxxxxxxx
+                                                     ld1rqh.  */
+                                                  return 1503;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx010xxxxxxxx0xxxx
+                                                     cmpge.  */
+                                                  return 1276;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx010xxxxxxxx1xxxx
+                                                     cmpgt.  */
+                                                  return 1279;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0000xxxxx010xxxxxxxxxxxxx
+                                                         ld1b.  */
+                                                      return 1457;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0100xxxxx010xxxxxxxxxxxxx
+                                                         ld1sw.  */
+                                                      return 1537;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0010xxxxx010xxxxxxxxxxxxx
+                                                         ld1b.  */
+                                                      return 1459;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0110xxxxx010xxxxxxxxxxxxx
+                                                         ld1h.  */
+                                                      return 1479;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 14) & 0x1) == 0)
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx001xxxxxxxx0xxxx
+                                                     cmpeq.  */
+                                                  return 1273;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx001xxxxxxxx1xxxx
+                                                     cmpne.  */
+                                                  return 1296;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x00x0xxxxx001xxxxxxxxxxxxx
+                                                     ld1rqb.  */
+                                                  return 1498;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x01x0xxxxx001xxxxxxxxxxxxx
+                                                     ld1rqh.  */
+                                                  return 1502;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
-                                              if (((word >> 21) & 0x1) == 0)
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx011xxxxxxxx0xxxx
+                                                     cmplt.  */
+                                                  return 1294;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x0xx0xxxxx011xxxxxxxx1xxxx
+                                                     cmple.  */
+                                                  return 1288;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
                                                   if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0000x100001
-                                                         prfb.  */
-                                                      return 1680;
+                                                         101001x0000xxxxx011xxxxxxxxxxxxx
+                                                         ldff1b.  */
+                                                      return 1581;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0010x100001
-                                                         prfh.  */
-                                                      return 1694;
+                                                         101001x0100xxxxx011xxxxxxxxxxxxx
+                                                         ldff1sw.  */
+                                                      return 1624;
                                                     }
                                                 }
                                               else
@@ -6240,63 +6207,44 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx1000x100001
+                                                         101001x0010xxxxx011xxxxxxxxxxxxx
                                                          ldff1b.  */
-                                                      return 1560;
+                                                      return 1583;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx1010x100001
+                                                         101001x0110xxxxx011xxxxxxxxxxxxx
                                                          ldff1h.  */
-                                                      return 1577;
+                                                      return 1598;
                                                     }
                                                 }
                                             }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxxx100x100001
-                                                     ld1rb.  */
-                                                  return 1474;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxxx110x100001
-                                                     ld1rh.  */
-                                                  return 1478;
-                                                }
-                                            }
                                         }
                                     }
+                                }
+                              else
+                                {
+                                  if (((word >> 31) & 0x1) == 0)
+                                    {
+                                      /* 33222222222211111111110000000000
+                                         10987654321098765432109876543210
+                                         011001x0xx0xxxxx0xxxxxxxxxxxxxxx
+                                         fcmla.  */
+                                      return 1342;
+                                    }
                                   else
                                     {
-                                      if (((word >> 21) & 0x1) == 0)
+                                      if (((word >> 13) & 0x1) == 0)
                                         {
                                           if (((word >> 22) & 0x1) == 0)
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx0000x10001x
-                                                     prfb.  */
-                                                  return 1682;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx0010x10001x
-                                                     prfh.  */
-                                                  return 1696;
-                                                }
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 111001x0x00xxxxx0x0xxxxxxxxxxxxx
+                                                 st1b.  */
+                                              return 1803;
                                             }
                                           else
                                             {
@@ -6304,17 +6252,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx0100x10001x
-                                                     ldff1b.  */
-                                                  return 1559;
+                                                     111001x0010xxxxx0x0xxxxxxxxxxxxx
+                                                     st1b.  */
+                                                  return 1807;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx0110x10001x
-                                                     ldff1h.  */
-                                                  return 1575;
+                                                     111001x0110xxxxx0x0xxxxxxxxxxxxx
+                                                     st1h.  */
+                                                  return 1828;
                                                 }
                                             }
                                         }
@@ -6326,17 +6274,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx1000x10001x
-                                                     ldff1b.  */
-                                                  return 1561;
+                                                     111001x0000xxxxx0x1xxxxxxxxxxxxx
+                                                     stnt1b.  */
+                                                  return 1873;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx1010x10001x
-                                                     ldff1h.  */
-                                                  return 1578;
+                                                     111001x0100xxxxx0x1xxxxxxxxxxxxx
+                                                     stnt1h.  */
+                                                  return 1877;
                                                 }
                                             }
                                           else
@@ -6345,158 +6293,122 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx1100x10001x
-                                                     prfd.  */
-                                                  return 1686;
+                                                     111001x0010xxxxx0x1xxxxxxxxxxxxx
+                                                     st3b.  */
+                                                  return 1857;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx1110x10001x
-                                                     ldff1h.  */
-                                                  return 1576;
+                                                     111001x0110xxxxx0x1xxxxxxxxxxxxx
+                                                     st3h.  */
+                                                  return 1861;
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
-                        }
-                      else
-                        {
-                          if (((word >> 21) & 0x1) == 0)
+                          else
                             {
-                              if (((word >> 14) & 0x1) == 0)
+                              if (((word >> 13) & 0x1) == 0)
                                 {
-                                  if (((word >> 15) & 0x1) == 0)
+                                  if (((word >> 30) & 0x1) == 0)
                                     {
-                                      if (((word >> 4) & 0x1) == 0)
+                                      if (((word >> 14) & 0x1) == 0)
                                         {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxx0xxxxxxxx100xxxxx0xx0x1001xx
-                                             cmpeq.  */
-                                          return 1273;
+                                          if (((word >> 4) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 x01001x0xx0xxxxx100xxxxxxxx0xxxx
+                                                 cmpge.  */
+                                              return 1277;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 x01001x0xx0xxxxx100xxxxxxxx1xxxx
+                                                 cmpgt.  */
+                                              return 1280;
+                                            }
                                         }
                                       else
                                         {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxx1xxxxxxxx100xxxxx0xx0x1001xx
-                                             cmpne.  */
-                                          return 1296;
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 30) & 0x1) == 0)
-                                        {
                                           if (((word >> 31) & 0x1) == 0)
                                             {
                                               if (((word >> 4) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxx0xxxxxxxx101xxxxx0xx0x100100
-                                                     cmpeq.  */
-                                                  return 1274;
+                                                     001001x0xx0xxxxx110xxxxxxxx0xxxx
+                                                     cmphs.  */
+                                                  return 1286;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxx1xxxxxxxx101xxxxx0xx0x100100
-                                                     cmpne.  */
-                                                  return 1297;
+                                                     001001x0xx0xxxxx110xxxxxxxx1xxxx
+                                                     cmphi.  */
+                                                  return 1283;
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 20) & 0x1) == 0)
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 22) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 23) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx101xxxx00000x100101
-                                                             ld1b.  */
-                                                          return 1445;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx101xxxx00010x100101
-                                                             ld1sw.  */
-                                                          return 1515;
-                                                        }
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0000xxxxx110xxxxxxxxxxxxx
+                                                         ldnt1b.  */
+                                                      return 1656;
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 23) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx101xxxx00100x100101
-                                                             ld1b.  */
-                                                          return 1447;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx101xxxx00110x100101
-                                                             ld1h.  */
-                                                          return 1468;
-                                                        }
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0100xxxxx110xxxxxxxxxxxxx
+                                                         ldnt1h.  */
+                                                      return 1660;
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 22) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 23) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx101xxxx10000x100101
-                                                             ldnf1b.  */
-                                                          return 1613;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx101xxxx10010x100101
-                                                             ldnf1sw.  */
-                                                          return 1626;
-                                                        }
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0010xxxxx110xxxxxxxxxxxxx
+                                                         ld3b.  */
+                                                      return 1564;
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 23) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx101xxxx10100x100101
-                                                             ldnf1b.  */
-                                                          return 1615;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx101xxxx10110x100101
-                                                             ldnf1h.  */
-                                                          return 1619;
-                                                        }
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x0110xxxxx110xxxxxxxxxxxxx
+                                                         ld3h.  */
+                                                      return 1568;
                                                     }
                                                 }
                                             }
                                         }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 31) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             011001x0xx0xxxxx1x0xxxxxxxxxxxxx
+                                             fcadd.  */
+                                          return 1341;
+                                        }
                                       else
                                         {
                                           if (((word >> 22) & 0x1) == 0)
@@ -6505,17 +6417,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx0000x10011x
+                                                     111001x0000xxxxx1x0xxxxxxxxxxxxx
                                                      st1b.  */
-                                                  return 1772;
+                                                  return 1804;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx0010x10011x
+                                                     111001x0100xxxxx1x0xxxxxxxxxxxxx
                                                      st1h.  */
-                                                  return 1791;
+                                                  return 1823;
                                                 }
                                             }
                                           else
@@ -6524,17 +6436,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx0100x10011x
+                                                     111001x0010xxxxx1x0xxxxxxxxxxxxx
                                                      st1b.  */
-                                                  return 1779;
+                                                  return 1808;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx0110x10011x
+                                                     111001x0110xxxxx1x0xxxxxxxxxxxxx
                                                      st1h.  */
-                                                  return 1800;
+                                                  return 1829;
                                                 }
                                             }
                                         }
@@ -6542,7 +6454,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 }
                               else
                                 {
-                                  if (((word >> 15) & 0x1) == 0)
+                                  if (((word >> 14) & 0x1) == 0)
                                     {
                                       if (((word >> 30) & 0x1) == 0)
                                         {
@@ -6552,57 +6464,101 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxx0xxxxxxxx110xxxxx0xx0x100100
-                                                     cmplt.  */
-                                                  return 1294;
+                                                     001001x0xx0xxxxx101xxxxxxxx0xxxx
+                                                     cmpeq.  */
+                                                  return 1274;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxx1xxxxxxxx110xxxxx0xx0x100100
-                                                     cmple.  */
-                                                  return 1288;
+                                                     001001x0xx0xxxxx101xxxxxxxx1xxxx
+                                                     cmpne.  */
+                                                  return 1297;
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 20) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 22) & 0x1) == 0)
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0000x100101
-                                                         ldff1b.  */
-                                                      return 1554;
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x00000xxxx101xxxxxxxxxxxxx
+                                                             ld1b.  */
+                                                          return 1464;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x01000xxxx101xxxxxxxxxxxxx
+                                                             ld1sw.  */
+                                                          return 1542;
+                                                        }
                                                     }
                                                   else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0010x100101
-                                                         ldff1sw.  */
-                                                      return 1597;
+                                                    {
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x00100xxxx101xxxxxxxxxxxxx
+                                                             ld1b.  */
+                                                          return 1466;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x01100xxxx101xxxxxxxxxxxxx
+                                                             ld1h.  */
+                                                          return 1487;
+                                                        }
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 22) & 0x1) == 0)
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0100x100101
-                                                         ldff1b.  */
-                                                      return 1556;
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x00001xxxx101xxxxxxxxxxxxx
+                                                             ldnf1b.  */
+                                                          return 1640;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x01001xxxx101xxxxxxxxxxxxx
+                                                             ldnf1sw.  */
+                                                          return 1653;
+                                                        }
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0110x100101
-                                                         ldff1h.  */
-                                                      return 1571;
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x00101xxxx101xxxxxxxxxxxxx
+                                                             ldnf1b.  */
+                                                          return 1642;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x01101xxxx101xxxxxxxxxxxxx
+                                                             ldnf1h.  */
+                                                          return 1646;
+                                                        }
                                                     }
                                                 }
                                             }
@@ -6615,17 +6571,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx0000x10011x
-                                                     stnt1b.  */
-                                                  return 1840;
+                                                     x11001x0000xxxxx101xxxxxxxxxxxxx
+                                                     st1b.  */
+                                                  return 1805;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx0010x10011x
-                                                     stnt1h.  */
-                                                  return 1844;
+                                                     x11001x0100xxxxx101xxxxxxxxxxxxx
+                                                     st1h.  */
+                                                  return 1824;
                                                 }
                                             }
                                           else
@@ -6634,17 +6590,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx0100x10011x
-                                                     st3b.  */
-                                                  return 1824;
+                                                     x11001x0010xxxxx101xxxxxxxxxxxxx
+                                                     st1b.  */
+                                                  return 1812;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx0110x10011x
-                                                     st3h.  */
-                                                  return 1828;
+                                                     x11001x0110xxxxx101xxxxxxxxxxxxx
+                                                     st1h.  */
+                                                  return 1833;
                                                 }
                                             }
                                         }
@@ -6659,7 +6615,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxx0xxxxxxxx111xxxxx0xx0x100100
+                                                     001001x0xx0xxxxx111xxxxxxxx0xxxx
                                                      cmplo.  */
                                                   return 1290;
                                                 }
@@ -6667,7 +6623,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxx1xxxxxxxx111xxxxx0xx0x100100
+                                                     001001x0xx0xxxxx111xxxxxxxx1xxxx
                                                      cmpls.  */
                                                   return 1292;
                                                 }
@@ -6680,17 +6636,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0000x100101
+                                                         101001x0000xxxxx111xxxxxxxxxxxxx
                                                          ldnt1b.  */
-                                                      return 1630;
+                                                      return 1657;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0010x100101
+                                                         101001x0100xxxxx111xxxxxxxxxxxxx
                                                          ldnt1h.  */
-                                                      return 1634;
+                                                      return 1661;
                                                     }
                                                 }
                                               else
@@ -6699,17 +6655,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0100x100101
+                                                         101001x0010xxxxx111xxxxxxxxxxxxx
                                                          ld3b.  */
-                                                      return 1538;
+                                                      return 1565;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0110x100101
+                                                         101001x0110xxxxx111xxxxxxxxxxxxx
                                                          ld3h.  */
-                                                      return 1542;
+                                                      return 1569;
                                                     }
                                                 }
                                             }
@@ -6722,9 +6678,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxx000x0x10011x
+                                                     x11001x0x000xxxx111xxxxxxxxxxxxx
                                                      st1b.  */
-                                                  return 1777;
+                                                  return 1810;
                                                 }
                                               else
                                                 {
@@ -6732,17 +6688,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx00100x10011x
+                                                         x11001x00100xxxx111xxxxxxxxxxxxx
                                                          st1b.  */
-                                                      return 1780;
+                                                      return 1813;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx00110x10011x
+                                                         x11001x01100xxxx111xxxxxxxxxxxxx
                                                          st1h.  */
-                                                      return 1801;
+                                                      return 1834;
                                                     }
                                                 }
                                             }
@@ -6754,17 +6710,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx10000x10011x
+                                                         x11001x00001xxxx111xxxxxxxxxxxxx
                                                          stnt1b.  */
-                                                      return 1841;
+                                                      return 1874;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx10010x10011x
+                                                         x11001x01001xxxx111xxxxxxxxxxxxx
                                                          stnt1h.  */
-                                                      return 1845;
+                                                      return 1878;
                                                     }
                                                 }
                                               else
@@ -6773,20 +6729,284 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx10100x10011x
+                                                         x11001x00101xxxx111xxxxxxxxxxxxx
                                                          st3b.  */
-                                                      return 1825;
+                                                      return 1858;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx10110x10011x
+                                                         x11001x01101xxxx111xxxxxxxxxxxxx
                                                          st3h.  */
-                                                      return 1829;
+                                                      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
+                                             001001x0xx1xxxxxxx0xxxxxxxx0xxxx
+                                             cmphs.  */
+                                          return 1287;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             001001x0xx1xxxxxxx0xxxxxxxx1xxxx
+                                             cmphi.  */
+                                          return 1284;
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 15) & 0x1) == 0)
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x0001xxxxx0x0xxxxxxxxxxxxx
+                                                     ld1b.  */
+                                                  return 1458;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x0101xxxxx0x0xxxxxxxxxxxxx
+                                                     ld1h.  */
+                                                  return 1478;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x0011xxxxx0x0xxxxxxxxxxxxx
+                                                     ld1b.  */
+                                                  return 1460;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x0111xxxxx0x0xxxxxxxxxxxxx
+                                                     ld1h.  */
+                                                  return 1480;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x0001xxxxx1x0xxxxxxxxxxxxx
+                                                     ld2b.  */
+                                                  return 1556;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x0101xxxxx1x0xxxxxxxxxxxxx
+                                                     ld2h.  */
+                                                  return 1560;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x0011xxxxx1x0xxxxxxxxxxxxx
+                                                     ld4b.  */
+                                                  return 1572;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x0111xxxxx1x0xxxxxxxxxxxxx
+                                                     ld4h.  */
+                                                  return 1576;
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                              else
+                                {
+                                  if (((word >> 15) & 0x1) == 0)
+                                    {
+                                      if (((word >> 14) & 0x1) == 0)
+                                        {
+                                          if (((word >> 12) & 0x1) == 0)
+                                            {
+                                              if (((word >> 10) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         x11001x00x1xxxxx0000x0xxxxxxxxxx
+                                                         fmla.  */
+                                                      return 1395;
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             x11001x0101xxxxx0000x0xxxxxxxxxx
+                                                             fmla.  */
+                                                          return 1396;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             x11001x0111xxxxx0000x0xxxxxxxxxx
+                                                             fmla.  */
+                                                          return 1397;
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         x11001x00x1xxxxx0000x1xxxxxxxxxx
+                                                         fmls.  */
+                                                      return 1399;
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             x11001x0101xxxxx0000x1xxxxxxxxxx
+                                                             fmls.  */
+                                                          return 1400;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             x11001x0111xxxxx0000x1xxxxxxxxxx
+                                                             fmls.  */
+                                                          return 1401;
+                                                        }
                                                     }
                                                 }
                                             }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x11001x0x01xxxxx0001xxxxxxxxxxxx
+                                                     fcmla.  */
+                                                  return 1343;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x11001x0x11xxxxx0001xxxxxxxxxxxx
+                                                     fcmla.  */
+                                                  return 1344;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x11001x0001xxxxx010xxxxxxxxxxxxx
+                                                     st1b.  */
+                                                  return 1806;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x11001x0101xxxxx010xxxxxxxxxxxxx
+                                                     st1h.  */
+                                                  return 1825;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x11001x0011xxxxx010xxxxxxxxxxxxx
+                                                     st1b.  */
+                                                  return 1809;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x11001x0111xxxxx010xxxxxxxxxxxxx
+                                                     st1h.  */
+                                                  return 1830;
+                                                }
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 22) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             x11001x0x01xxxxx1x0xxxxxxxxxxxxx
+                                             st1h.  */
+                                          return 1826;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             x11001x0x11xxxxx1x0xxxxxxxxxxxxx
+                                             st1h.  */
+                                          return 1831;
                                         }
                                     }
                                 }
@@ -6801,7 +7021,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxx0xxxxxxxx1xxxxxxx1xx0x100100
+                                             001001x0xx1xxxxxxx1xxxxxxxx0xxxx
                                              cmplo.  */
                                           return 1291;
                                         }
@@ -6809,7 +7029,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxx1xxxxxxxx1xxxxxxx1xx0x100100
+                                             001001x0xx1xxxxxxx1xxxxxxxx1xxxx
                                              cmpls.  */
                                           return 1293;
                                         }
@@ -6826,17 +7046,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx10xxxxx01000x100101
+                                                         101001x00010xxxxx01xxxxxxxxxxxxx
                                                          ld1b.  */
-                                                      return 1446;
+                                                      return 1465;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx10xxxxx01010x100101
+                                                         101001x01010xxxxx01xxxxxxxxxxxxx
                                                          ld1h.  */
-                                                      return 1467;
+                                                      return 1486;
                                                     }
                                                 }
                                               else
@@ -6845,17 +7065,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx10xxxxx01100x100101
+                                                         101001x00110xxxxx01xxxxxxxxxxxxx
                                                          ld1b.  */
-                                                      return 1448;
+                                                      return 1467;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx10xxxxx01110x100101
+                                                         101001x01110xxxxx01xxxxxxxxxxxxx
                                                          ld1h.  */
-                                                      return 1469;
+                                                      return 1488;
                                                     }
                                                 }
                                             }
@@ -6867,17 +7087,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx10xxxxx11000x100101
+                                                         101001x00011xxxxx01xxxxxxxxxxxxx
                                                          ldnf1b.  */
-                                                      return 1614;
+                                                      return 1641;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx10xxxxx11010x100101
+                                                         101001x01011xxxxx01xxxxxxxxxxxxx
                                                          ldnf1h.  */
-                                                      return 1618;
+                                                      return 1645;
                                                     }
                                                 }
                                               else
@@ -6886,17 +7106,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx10xxxxx11100x100101
+                                                         101001x00111xxxxx01xxxxxxxxxxxxx
                                                          ldnf1b.  */
-                                                      return 1616;
+                                                      return 1643;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx10xxxxx11110x100101
+                                                         101001x01111xxxxx01xxxxxxxxxxxxx
                                                          ldnf1h.  */
-                                                      return 1620;
+                                                      return 1647;
                                                     }
                                                 }
                                             }
@@ -6911,17 +7131,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx1000x100101
+                                                         101001x0001xxxxx011xxxxxxxxxxxxx
                                                          ldff1b.  */
-                                                      return 1555;
+                                                      return 1582;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx1010x100101
+                                                         101001x0101xxxxx011xxxxxxxxxxxxx
                                                          ldff1h.  */
-                                                      return 1570;
+                                                      return 1597;
                                                     }
                                                 }
                                               else
@@ -6930,17 +7150,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx1100x100101
+                                                         101001x0011xxxxx011xxxxxxxxxxxxx
                                                          ldff1b.  */
-                                                      return 1557;
+                                                      return 1584;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx1110x100101
+                                                         101001x0111xxxxx011xxxxxxxxxxxxx
                                                          ldff1h.  */
-                                                      return 1572;
+                                                      return 1599;
                                                     }
                                                 }
                                             }
@@ -6952,17 +7172,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx1000x100101
+                                                         101001x0001xxxxx111xxxxxxxxxxxxx
                                                          ld2b.  */
-                                                      return 1530;
+                                                      return 1557;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx1010x100101
+                                                         101001x0101xxxxx111xxxxxxxxxxxxx
                                                          ld2h.  */
-                                                      return 1534;
+                                                      return 1561;
                                                     }
                                                 }
                                               else
@@ -6971,17 +7191,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx1100x100101
+                                                         101001x0011xxxxx111xxxxxxxxxxxxx
                                                          ld4b.  */
-                                                      return 1546;
+                                                      return 1573;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx1110x100101
+                                                         101001x0111xxxxx111xxxxxxxxxxxxx
                                                          ld4h.  */
-                                                      return 1550;
+                                                      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 1794;
-                                        }
-                                      else
+                                      if (((word >> 15) & 0x1) == 0)
                                         {
                                           if (((word >> 23) & 0x1) == 0)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx10xxxxxx1100x10011x
-                                                 st1b.  */
-                                              return 1781;
+                                                 x11001x00x1xxxxx001xxxxxxxxxxxxx
+                                                 fmul.  */
+                                              return 1406;
                                             }
                                           else
                                             {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x11001x0101xxxxx001xxxxxxxxxxxxx
+                                                     fmul.  */
+                                                  return 1407;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x11001x0111xxxxx001xxxxxxxxxxxxx
+                                                     fmul.  */
+                                                  return 1408;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx10xxxxxx1110x10011x
+                                                 x11001x0x01xxxxx101xxxxxxxxxxxxx
                                                  st1h.  */
-                                              return 1802;
+                                              return 1827;
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x11001x0011xxxxx101xxxxxxxxxxxxx
+                                                     st1b.  */
+                                                  return 1814;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x11001x0111xxxxx101xxxxxxxxxxxxx
+                                                     st1h.  */
+                                                  return 1835;
+                                                }
                                             }
                                         }
                                     }
@@ -7030,17 +7283,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1000x10011x
+                                                     x11001x0001xxxxx011xxxxxxxxxxxxx
                                                      st2b.  */
-                                                  return 1816;
+                                                  return 1849;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1010x10011x
+                                                     x11001x0101xxxxx011xxxxxxxxxxxxx
                                                      st2h.  */
-                                                  return 1820;
+                                                  return 1853;
                                                 }
                                             }
                                           else
@@ -7049,17 +7302,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1100x10011x
+                                                     x11001x0011xxxxx011xxxxxxxxxxxxx
                                                      st4b.  */
-                                                  return 1832;
+                                                  return 1865;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1110x10011x
+                                                     x11001x0111xxxxx011xxxxxxxxxxxxx
                                                      st4h.  */
-                                                  return 1836;
+                                                  return 1869;
                                                 }
                                             }
                                         }
@@ -7073,17 +7326,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx01000x10011x
+                                                         x11001x00010xxxx111xxxxxxxxxxxxx
                                                          st1b.  */
-                                                      return 1778;
+                                                      return 1811;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx01010x10011x
+                                                         x11001x01010xxxx111xxxxxxxxxxxxx
                                                          st1h.  */
-                                                      return 1799;
+                                                      return 1832;
                                                     }
                                                 }
                                               else
@@ -7092,17 +7345,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx01100x10011x
+                                                         x11001x00110xxxx111xxxxxxxxxxxxx
                                                          st1b.  */
-                                                      return 1782;
+                                                      return 1815;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx01110x10011x
+                                                         x11001x01110xxxx111xxxxxxxxxxxxx
                                                          st1h.  */
-                                                      return 1803;
+                                                      return 1836;
                                                     }
                                                 }
                                             }
@@ -7114,17 +7367,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx11000x10011x
+                                                         x11001x00011xxxx111xxxxxxxxxxxxx
                                                          st2b.  */
-                                                      return 1817;
+                                                      return 1850;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx11010x10011x
+                                                         x11001x01011xxxx111xxxxxxxxxxxxx
                                                          st2h.  */
-                                                      return 1821;
+                                                      return 1854;
                                                     }
                                                 }
                                               else
@@ -7133,17 +7386,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx11100x10011x
+                                                         x11001x00111xxxx111xxxxxxxxxxxxx
                                                          st4b.  */
-                                                      return 1833;
+                                                      return 1866;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx11110x10011x
+                                                         x11001x01111xxxx111xxxxxxxxxxxxx
                                                          st4h.  */
-                                                      return 1837;
+                                                      return 1870;
                                                     }
                                                 }
                                             }
@@ -7172,15 +7425,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxxxxxxx00001x100000
+                                                 000001x10000xxxxxxxxxxxxxxxxxxxx
                                                  orr.  */
-                                              return 1668;
+                                              return 1695;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxxxxxxx00011x100000
+                                                 000001x11000xxxxxxxxxxxxxxxxxxxx
                                                  and.  */
                                               return 1239;
                                             }
@@ -7191,7 +7444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxxxxxxx00101x100000
+                                                 000001x10100xxxxxxxxxxxxxxxxxxxx
                                                  eor.  */
                                               return 1326;
                                             }
@@ -7199,7 +7452,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxxxxxxxx00111x100000
+                                                 000001x11100xxxxxxxxxxxxxxxxxxxx
                                                  dupm.  */
                                               return 1324;
                                             }
@@ -7211,7 +7464,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx0xxxx10xx1x100000
+                                             000001x1xx01xxxx0xxxxxxxxxxxxxxx
                                              cpy.  */
                                           return 1309;
                                         }
@@ -7219,9 +7472,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxx1xxxx10xx1x100000
+                                             000001x1xx01xxxx1xxxxxxxxxxxxxxx
                                              fcpy.  */
-                                          return 1352;
+                                          return 1356;
                                         }
                                     }
                                 }
@@ -7235,7 +7488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx000xxxxx1xx1x100000
+                                                 000001x1xx1xxxxx000xxxxxxxxxxxxx
                                                  ext.  */
                                               return 1331;
                                             }
@@ -7251,7 +7504,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0010000x1xx1x100000
+                                                                 000001x1xx1x0000100xxxxxxxxxxxxx
                                                                  cpy.  */
                                                               return 1307;
                                                             }
@@ -7259,7 +7512,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0010001x1xx1x100000
+                                                                 000001x1xx1x1000100xxxxxxxxxxxxx
                                                                  clasta.  */
                                                               return 1265;
                                                             }
@@ -7270,17 +7523,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0010010x1xx1x100000
+                                                                 000001x1xx1x0100100xxxxxxxxxxxxx
                                                                  revb.  */
-                                                              return 1716;
+                                                              return 1743;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0010011x1xx1x100000
+                                                                 000001x1xx1x1100100xxxxxxxxxxxxx
                                                                  splice.  */
-                                                              return 1737;
+                                                              return 1770;
                                                             }
                                                         }
                                                     }
@@ -7292,15 +7545,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0010100x1xx1x100000
+                                                                 000001x1xx1x0010100xxxxxxxxxxxxx
                                                                  lasta.  */
-                                                              return 1434;
+                                                              return 1453;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0010101x1xx1x100000
+                                                                 000001x1xx1x1010100xxxxxxxxxxxxx
                                                                  clasta.  */
                                                               return 1266;
                                                             }
@@ -7309,9 +7562,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx001011xx1xx1x100000
+                                                             000001x1xx1xx110100xxxxxxxxxxxxx
                                                              revw.  */
-                                                          return 1718;
+                                                          return 1745;
                                                         }
                                                     }
                                                 }
@@ -7325,7 +7578,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0011000x1xx1x100000
+                                                                 000001x1xx1x0001100xxxxxxxxxxxxx
                                                                  compact.  */
                                                               return 1306;
                                                             }
@@ -7333,7 +7586,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0011001x1xx1x100000
+                                                                 000001x1xx1x1001100xxxxxxxxxxxxx
                                                                  clastb.  */
                                                               return 1268;
                                                             }
@@ -7342,9 +7595,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx001101xx1xx1x100000
+                                                             000001x1xx1xx101100xxxxxxxxxxxxx
                                                              revh.  */
-                                                          return 1717;
+                                                          return 1744;
                                                         }
                                                     }
                                                   else
@@ -7355,15 +7608,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0011100x1xx1x100000
+                                                                 000001x1xx1x0011100xxxxxxxxxxxxx
                                                                  lastb.  */
-                                                              return 1436;
+                                                              return 1455;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx0011101x1xx1x100000
+                                                                 000001x1xx1x1011100xxxxxxxxxxxxx
                                                                  clastb.  */
                                                               return 1269;
                                                             }
@@ -7372,9 +7625,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx001111xx1xx1x100000
+                                                             000001x1xx1xx111100xxxxxxxxxxxxx
                                                              rbit.  */
-                                                          return 1709;
+                                                          return 1736;
                                                         }
                                                     }
                                                 }
@@ -7390,7 +7643,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxx00100xxxxx1xx1x100000
+                                                         000001x1xx1xxxxx00100xxxxxxxxxxx
                                                          dup.  */
                                                       return 1322;
                                                     }
@@ -7398,9 +7651,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxx01100xxxxx1xx1x100000
+                                                         000001x1xx1xxxxx00110xxxxxxxxxxx
                                                          tbl.  */
-                                                      return 1860;
+                                                      return 1893;
                                                     }
                                                 }
                                               else
@@ -7417,7 +7670,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxx1x100000001xx1x100000
+                                                                         000001x1xx100000001x1xxxxxxxxxxx
                                                                          dup.  */
                                                                       return 1321;
                                                                     }
@@ -7425,18 +7678,18 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxx1x100000011xx1x100000
+                                                                         000001x1xx110000001x1xxxxxxxxxxx
                                                                          sunpklo.  */
-                                                                      return 1856;
+                                                                      return 1889;
                                                                     }
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxx1x1000001x1xx1x100000
+                                                                     000001x1xx1x1000001x1xxxxxxxxxxx
                                                                      rev.  */
-                                                                  return 1715;
+                                                                  return 1742;
                                                                 }
                                                             }
                                                           else
@@ -7445,17 +7698,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxx1x100001x01xx1x100000
+                                                                     000001x1xx10x100001x1xxxxxxxxxxx
                                                                      insr.  */
-                                                                  return 1431;
+                                                                  return 1450;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxx1x100001x11xx1x100000
+                                                                     000001x1xx11x100001x1xxxxxxxxxxx
                                                                      insr.  */
-                                                                  return 1432;
+                                                                  return 1451;
                                                                 }
                                                             }
                                                         }
@@ -7463,9 +7716,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxx1x10001xxx1xx1x100000
+                                                             000001x1xx1xxx10001x1xxxxxxxxxxx
                                                              uunpklo.  */
-                                                          return 1913;
+                                                          return 1952;
                                                         }
                                                     }
                                                   else
@@ -7474,17 +7727,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxx1x10010xxx1xx1x100000
+                                                             000001x1xx1xxx01001x1xxxxxxxxxxx
                                                              sunpkhi.  */
-                                                          return 1855;
+                                                          return 1888;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxx1x10011xxx1xx1x100000
+                                                             000001x1xx1xxx11001x1xxxxxxxxxxx
                                                              uunpkhi.  */
-                                                          return 1912;
+                                                          return 1951;
                                                         }
                                                     }
                                                 }
@@ -7499,15 +7752,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx1010xx001xx1x100000
+                                                             000001x1xx100xx0101xxxxxxxxxxxxx
                                                              lasta.  */
-                                                          return 1433;
+                                                          return 1452;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx1010xx011xx1x100000
+                                                             000001x1xx110xx0101xxxxxxxxxxxxx
                                                              clasta.  */
                                                           return 1267;
                                                         }
@@ -7516,7 +7769,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx1010xx1x1xx1x100000
+                                                         000001x1xx1x1xx0101xxxxxxxxxxxxx
                                                          cpy.  */
                                                       return 1308;
                                                     }
@@ -7527,15 +7780,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx1011xxx01xx1x100000
+                                                         000001x1xx10xxx1101xxxxxxxxxxxxx
                                                          lastb.  */
-                                                      return 1435;
+                                                      return 1454;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx1011xxx11xx1x100000
+                                                         000001x1xx11xxx1101xxxxxxxxxxxxx
                                                          clastb.  */
                                                       return 1270;
                                                     }
@@ -7559,9 +7812,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000010xxxx01xx1x100000
+                                                                 000001x1xx10xxxx010000xxxxxxxxxx
                                                                  zip1.  */
-                                                              return 1930;
+                                                              return 1969;
                                                             }
                                                           else
                                                             {
@@ -7571,26 +7824,26 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0000100x0x11xx1x100000
+                                                                         000001x1xx11x0x0010000xxxxxxxxxx
                                                                          punpklo.  */
-                                                                      return 1708;
+                                                                      return 1735;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0000100x1x11xx1x100000
+                                                                         000001x1xx11x1x0010000xxxxxxxxxx
                                                                          rev.  */
-                                                                      return 1714;
+                                                                      return 1741;
                                                                     }
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0000101xxx11xx1x100000
+                                                                     000001x1xx11xxx1010000xxxxxxxxxx
                                                                      punpkhi.  */
-                                                                  return 1707;
+                                                                  return 1734;
                                                                 }
                                                             }
                                                         }
@@ -7598,9 +7851,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000110xxxxx1xx1x100000
+                                                             000001x1xx1xxxxx011000xxxxxxxxxx
                                                              zip1.  */
-                                                          return 1931;
+                                                          return 1970;
                                                         }
                                                     }
                                                   else
@@ -7609,17 +7862,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx001010xxxxx1xx1x100000
+                                                             000001x1xx1xxxxx010100xxxxxxxxxx
                                                              trn1.  */
-                                                          return 1861;
+                                                          return 1894;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx001110xxxxx1xx1x100000
+                                                             000001x1xx1xxxxx011100xxxxxxxxxx
                                                              trn1.  */
-                                                          return 1862;
+                                                          return 1895;
                                                         }
                                                     }
                                                 }
@@ -7629,17 +7882,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx01x010xxxxx1xx1x100000
+                                                         000001x1xx1xxxxx010x10xxxxxxxxxx
                                                          uzp1.  */
-                                                      return 1917;
+                                                      return 1956;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx01x110xxxxx1xx1x100000
+                                                         000001x1xx1xxxxx011x10xxxxxxxxxx
                                                          uzp1.  */
-                                                      return 1918;
+                                                      return 1957;
                                                     }
                                                 }
                                             }
@@ -7653,17 +7906,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx100010xxxxx1xx1x100000
+                                                             000001x1xx1xxxxx010001xxxxxxxxxx
                                                              zip2.  */
-                                                          return 1932;
+                                                          return 1971;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx100110xxxxx1xx1x100000
+                                                             000001x1xx1xxxxx011001xxxxxxxxxx
                                                              zip2.  */
-                                                          return 1933;
+                                                          return 1972;
                                                         }
                                                     }
                                                   else
@@ -7672,17 +7925,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx101010xxxxx1xx1x100000
+                                                             000001x1xx1xxxxx010101xxxxxxxxxx
                                                              trn2.  */
-                                                          return 1863;
+                                                          return 1896;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx101110xxxxx1xx1x100000
+                                                             000001x1xx1xxxxx011101xxxxxxxxxx
                                                              trn2.  */
-                                                          return 1864;
+                                                          return 1897;
                                                         }
                                                     }
                                                 }
@@ -7692,17 +7945,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx11x010xxxxx1xx1x100000
+                                                         000001x1xx1xxxxx010x11xxxxxxxxxx
                                                          uzp2.  */
-                                                      return 1919;
+                                                      return 1958;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx11x110xxxxx1xx1x100000
+                                                         000001x1xx1xxxxx011x11xxxxxxxxxx
                                                          uzp2.  */
-                                                      return 1920;
+                                                      return 1959;
                                                     }
                                                 }
                                             }
@@ -7711,9 +7964,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxx11xxxxx1xx1x100000
+                                             000001x1xx1xxxxx11xxxxxxxxxxxxxx
                                              sel.  */
-                                          return 1727;
+                                          return 1760;
                                         }
                                     }
                                 }
@@ -7730,17 +7983,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx000xxxxxx0x1x100001
+                                                 100001x1x0xxxxxx000xxxxxxxxxxxxx
                                                  ldr.  */
-                                              return 1637;
+                                              return 1664;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx000xxxxxx1x1x100001
+                                                 100001x1x1xxxxxx000xxxxxxxxxxxxx
                                                  prfb.  */
-                                              return 1681;
+                                              return 1708;
                                             }
                                         }
                                       else
@@ -7749,17 +8002,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx001xxxxxxx01x100001
+                                                 100001x10xxxxxxx100xxxxxxxxxxxxx
                                                  ld1rsh.  */
-                                              return 1482;
+                                              return 1509;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx001xxxxxxx11x100001
+                                                 100001x11xxxxxxx100xxxxxxxxxxxxx
                                                  ld1rsb.  */
-                                              return 1479;
+                                              return 1506;
                                             }
                                         }
                                     }
@@ -7773,17 +8026,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx0x01x100001
+                                                     100001x10x0xxxxx010xxxxxxxxxxxxx
                                                      ld1w.  */
-                                                  return 1517;
+                                                  return 1544;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx1x01x100001
+                                                     100001x10x1xxxxx010xxxxxxxxxxxxx
                                                      ld1w.  */
-                                                  return 1518;
+                                                  return 1545;
                                                 }
                                             }
                                           else
@@ -7792,17 +8045,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxxx011x100001
+                                                     100001x110xxxxxx010xxxxxxxxxxxxx
                                                      ldr.  */
-                                                  return 1638;
+                                                  return 1665;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxxx111x100001
+                                                     100001x111xxxxxx010xxxxxxxxxxxxx
                                                      prfw.  */
-                                                  return 1702;
+                                                  return 1729;
                                                 }
                                             }
                                         }
@@ -7816,26 +8069,26 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx0001x100001
+                                                         100001x1000xxxxx110xxxxxxxxxxxxx
                                                          prfw.  */
-                                                      return 1698;
+                                                      return 1725;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx0011x100001
+                                                         100001x1100xxxxx110xxxxxxxxxxxxx
                                                          prfd.  */
-                                                      return 1684;
+                                                      return 1711;
                                                     }
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx011xxxxx10x1x100001
+                                                     100001x1x01xxxxx110xxxxxxxxxxxxx
                                                      ld1w.  */
-                                                  return 1525;
+                                                  return 1552;
                                                 }
                                             }
                                           else
@@ -7844,17 +8097,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx011xxxxxx101x100001
+                                                     100001x101xxxxxx110xxxxxxxxxxxxx
                                                      ld1rw.  */
-                                                  return 1485;
+                                                  return 1512;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx011xxxxxx111x100001
+                                                     100001x111xxxxxx110xxxxxxxxxxxxx
                                                      ld1rsb.  */
-                                                  return 1481;
+                                                  return 1508;
                                                 }
                                             }
                                         }
@@ -7868,9 +8121,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx100xxxxxxxx1x100001
+                                             100001x1xxxxxxxx001xxxxxxxxxxxxx
                                              prfh.  */
-                                          return 1695;
+                                          return 1722;
                                         }
                                       else
                                         {
@@ -7878,17 +8131,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx101xxxxxxx01x100001
+                                                 100001x10xxxxxxx101xxxxxxxxxxxxx
                                                  ld1rsh.  */
-                                              return 1483;
+                                              return 1510;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx101xxxxxxx11x100001
+                                                 100001x11xxxxxxx101xxxxxxxxxxxxx
                                                  ld1rsb.  */
-                                              return 1480;
+                                              return 1507;
                                             }
                                         }
                                     }
@@ -7902,26 +8155,26 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx0x01x100001
+                                                     100001x10x0xxxxx011xxxxxxxxxxxxx
                                                      ldff1w.  */
-                                                  return 1603;
+                                                  return 1630;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1x01x100001
+                                                     100001x10x1xxxxx011xxxxxxxxxxxxx
                                                      ldff1w.  */
-                                                  return 1604;
+                                                  return 1631;
                                                 }
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx110xxxxxxx11x100001
+                                                 100001x11xxxxxxx011xxxxxxxxxxxxx
                                                  prfd.  */
-                                              return 1688;
+                                              return 1715;
                                             }
                                         }
                                       else
@@ -7934,26 +8187,26 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0001x100001
+                                                         100001x1000xxxxx111xxxxxxxxxxxxx
                                                          prfw.  */
-                                                      return 1701;
+                                                      return 1728;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0011x100001
+                                                         100001x1100xxxxx111xxxxxxxxxxxxx
                                                          prfd.  */
-                                                      return 1687;
+                                                      return 1714;
                                                     }
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx10x1x100001
+                                                     100001x1x01xxxxx111xxxxxxxxxxxxx
                                                      ldff1w.  */
-                                                  return 1611;
+                                                  return 1638;
                                                 }
                                             }
                                           else
@@ -7962,17 +8215,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxxx101x100001
+                                                     100001x101xxxxxx111xxxxxxxxxxxxx
                                                      ld1rw.  */
-                                                  return 1486;
+                                                  return 1513;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxxx111x100001
+                                                     100001x111xxxxxx111xxxxxxxxxxxxx
                                                      ld1rd.  */
-                                                  return 1475;
+                                                  return 1494;
                                                 }
                                             }
                                         }
@@ -7992,17 +8245,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx000xxxxx0xx1x10001x
+                                             x10001x1xx0xxxxx000xxxxxxxxxxxxx
                                              ld1sw.  */
-                                          return 1511;
+                                          return 1538;
                                         }
                                       else
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx000xxxxx1xx1x10001x
+                                             x10001x1xx1xxxxx000xxxxxxxxxxxxx
                                              ld1sw.  */
-                                          return 1512;
+                                          return 1539;
                                         }
                                     }
                                   else
@@ -8011,9 +8264,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx001xxxxx0xx1x10001x
+                                             x10001x1xx0xxxxx100xxxxxxxxxxxxx
                                              ld1sw.  */
-                                          return 1513;
+                                          return 1540;
                                         }
                                       else
                                         {
@@ -8021,17 +8274,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx001xxxxx10x1x10001x
+                                                 x10001x1x01xxxxx100xxxxxxxxxxxxx
                                                  ld1sw.  */
-                                              return 1516;
+                                              return 1543;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx001xxxxx11x1x10001x
+                                                 x10001x1x11xxxxx100xxxxxxxxxxxxx
                                                  ld1sw.  */
-                                              return 1514;
+                                              return 1541;
                                             }
                                         }
                                     }
@@ -8046,17 +8299,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx010xxxxx0x01x10001x
+                                                 x10001x10x0xxxxx010xxxxxxxxxxxxx
                                                  ld1w.  */
-                                              return 1521;
+                                              return 1548;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx010xxxxx0x11x10001x
+                                                 x10001x11x0xxxxx010xxxxxxxxxxxxx
                                                  ld1d.  */
-                                              return 1451;
+                                              return 1470;
                                             }
                                         }
                                       else
@@ -8065,17 +8318,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx010xxxxx1x01x10001x
+                                                 x10001x10x1xxxxx010xxxxxxxxxxxxx
                                                  ld1w.  */
-                                              return 1522;
+                                              return 1549;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx010xxxxx1x11x10001x
+                                                 x10001x11x1xxxxx010xxxxxxxxxxxxx
                                                  ld1d.  */
-                                              return 1452;
+                                              return 1471;
                                             }
                                         }
                                     }
@@ -8087,17 +8340,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx011xxxxx0x01x10001x
+                                                 x10001x10x0xxxxx110xxxxxxxxxxxxx
                                                  ld1w.  */
-                                              return 1523;
+                                              return 1550;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx011xxxxx0x11x10001x
+                                                 x10001x11x0xxxxx110xxxxxxxxxxxxx
                                                  ld1d.  */
-                                              return 1453;
+                                              return 1472;
                                             }
                                         }
                                       else
@@ -8108,17 +8361,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx011xxxxx1001x10001x
+                                                     x10001x1001xxxxx110xxxxxxxxxxxxx
                                                      ld1w.  */
-                                                  return 1528;
+                                                  return 1555;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx011xxxxx1011x10001x
+                                                     x10001x1101xxxxx110xxxxxxxxxxxxx
                                                      ld1d.  */
-                                                  return 1456;
+                                                  return 1475;
                                                 }
                                             }
                                           else
@@ -8127,17 +8380,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx011xxxxx1101x10001x
+                                                     x10001x1011xxxxx110xxxxxxxxxxxxx
                                                      ld1w.  */
-                                                  return 1524;
+                                                  return 1551;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx011xxxxx1111x10001x
+                                                     x10001x1111xxxxx110xxxxxxxxxxxxx
                                                      ld1d.  */
-                                                  return 1454;
+                                                  return 1473;
                                                 }
                                             }
                                         }
@@ -8154,17 +8407,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx100xxxxx0xx1x10001x
+                                             x10001x1xx0xxxxx001xxxxxxxxxxxxx
                                              ldff1sw.  */
-                                          return 1598;
+                                          return 1625;
                                         }
                                       else
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx100xxxxx1xx1x10001x
+                                             x10001x1xx1xxxxx001xxxxxxxxxxxxx
                                              ldff1sw.  */
-                                          return 1599;
+                                          return 1626;
                                         }
                                     }
                                   else
@@ -8173,9 +8426,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx101xxxxx0xx1x10001x
+                                             x10001x1xx0xxxxx101xxxxxxxxxxxxx
                                              ldff1sw.  */
-                                          return 1600;
+                                          return 1627;
                                         }
                                       else
                                         {
@@ -8183,17 +8436,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx101xxxxx10x1x10001x
+                                                 x10001x1x01xxxxx101xxxxxxxxxxxxx
                                                  ldff1sw.  */
-                                              return 1602;
+                                              return 1629;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx101xxxxx11x1x10001x
+                                                 x10001x1x11xxxxx101xxxxxxxxxxxxx
                                                  ldff1sw.  */
-                                              return 1601;
+                                              return 1628;
                                             }
                                         }
                                     }
@@ -8208,17 +8461,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx110xxxxx0x01x10001x
+                                                 x10001x10x0xxxxx011xxxxxxxxxxxxx
                                                  ldff1w.  */
-                                              return 1607;
+                                              return 1634;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx110xxxxx0x11x10001x
+                                                 x10001x11x0xxxxx011xxxxxxxxxxxxx
                                                  ldff1d.  */
-                                              return 1563;
+                                              return 1590;
                                             }
                                         }
                                       else
@@ -8227,17 +8480,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx110xxxxx1x01x10001x
+                                                 x10001x10x1xxxxx011xxxxxxxxxxxxx
                                                  ldff1w.  */
-                                              return 1608;
+                                              return 1635;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx110xxxxx1x11x10001x
+                                                 x10001x11x1xxxxx011xxxxxxxxxxxxx
                                                  ldff1d.  */
-                                              return 1564;
+                                              return 1591;
                                             }
                                         }
                                     }
@@ -8251,17 +8504,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx0001x10001x
+                                                     x10001x1000xxxxx111xxxxxxxxxxxxx
                                                      prfw.  */
-                                                  return 1703;
+                                                  return 1730;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx0011x10001x
+                                                     x10001x1100xxxxx111xxxxxxxxxxxxx
                                                      prfd.  */
-                                                  return 1689;
+                                                  return 1716;
                                                 }
                                             }
                                           else
@@ -8270,17 +8523,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx0101x10001x
+                                                     x10001x1010xxxxx111xxxxxxxxxxxxx
                                                      ldff1w.  */
-                                                  return 1609;
+                                                  return 1636;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx0111x10001x
+                                                     x10001x1110xxxxx111xxxxxxxxxxxxx
                                                      ldff1d.  */
-                                                  return 1565;
+                                                  return 1592;
                                                 }
                                             }
                                         }
@@ -8292,17 +8545,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx1001x10001x
+                                                     x10001x1001xxxxx111xxxxxxxxxxxxx
                                                      ldff1w.  */
-                                                  return 1612;
+                                                  return 1639;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx1011x10001x
+                                                     x10001x1101xxxxx111xxxxxxxxxxxxx
                                                      ldff1d.  */
-                                                  return 1567;
+                                                  return 1594;
                                                 }
                                             }
                                           else
@@ -8311,17 +8564,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx1101x10001x
+                                                     x10001x1011xxxxx111xxxxxxxxxxxxx
                                                      ldff1w.  */
-                                                  return 1610;
+                                                  return 1637;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx1111x10001x
+                                                     x10001x1111xxxxx111xxxxxxxxxxxxx
                                                      ldff1d.  */
-                                                  return 1566;
+                                                  return 1593;
                                                 }
                                             }
                                         }
@@ -8340,35 +8593,68 @@ 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 1278;
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x1xx0xxxxx000xxxxxxxx0xxxx
+                                                     cmpge.  */
+                                                  return 1278;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x1xx0xxxxx000xxxxxxxx1xxxx
+                                                     cmpgt.  */
+                                                  return 1281;
+                                                }
                                             }
                                           else
                                             {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x10x0xxxxx000xxxxxxxxxxxxx
+                                                     ld1rqw.  */
+                                                  return 1505;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x11x0xxxxx000xxxxxxxxxxxxx
+                                                     ld1rqd.  */
+                                                  return 1501;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 4) & 0x1) == 0)
+                                            {
                                               if (((word >> 11) & 0x1) == 0)
                                                 {
                                                   if (((word >> 12) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx0xxxxxx00000xxxxx1xx1x10010x
+                                                         x01001x1xx1xxxxx00000xxxxxx0xxxx
                                                          whilelt.  */
-                                                      return 1927;
+                                                      return 1966;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx0xxxxxx01000xxxxx1xx1x10010x
+                                                         x01001x1xx1xxxxx00010xxxxxx0xxxx
                                                          whilelt.  */
-                                                      return 1928;
+                                                      return 1967;
                                                     }
                                                 }
                                               else
@@ -8377,31 +8663,20 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx0xxxxxx10000xxxxx1xx1x10010x
+                                                         x01001x1xx1xxxxx00001xxxxxx0xxxx
                                                          whilelo.  */
-                                                      return 1923;
+                                                      return 1962;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx0xxxxxx11000xxxxx1xx1x10010x
+                                                         x01001x1xx1xxxxx00011xxxxxx0xxxx
                                                          whilelo.  */
-                                                      return 1924;
+                                                      return 1963;
                                                     }
                                                 }
                                             }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 21) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxx1xxxxxxxx000xxxxx0xx1x10010x
-                                                 cmpgt.  */
-                                              return 1281;
-                                            }
                                           else
                                             {
                                               if (((word >> 11) & 0x1) == 0)
@@ -8410,17 +8685,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx1xxxxxx00000xxxxx1xx1x10010x
+                                                         x01001x1xx1xxxxx00000xxxxxx1xxxx
                                                          whilele.  */
-                                                      return 1921;
+                                                      return 1960;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx1xxxxxx01000xxxxx1xx1x10010x
+                                                         x01001x1xx1xxxxx00010xxxxxx1xxxx
                                                          whilele.  */
-                                                      return 1922;
+                                                      return 1961;
                                                     }
                                                 }
                                               else
@@ -8429,17 +8704,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx1xxxxxx10000xxxxx1xx1x10010x
+                                                         x01001x1xx1xxxxx00001xxxxxx1xxxx
                                                          whilels.  */
-                                                      return 1925;
+                                                      return 1964;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx1xxxxxx11000xxxxx1xx1x10010x
+                                                         x01001x1xx1xxxxx00011xxxxxx1xxxx
                                                          whilels.  */
-                                                      return 1926;
+                                                      return 1965;
                                                     }
                                                 }
                                             }
@@ -8457,7 +8732,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx00x000xxxxx0xx1x100110
+                                                         011001x1xx0xxxxx000x00xxxxxxxxxx
                                                          fadd.  */
                                                       return 1336;
                                                     }
@@ -8467,17 +8742,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx010000xxxxx0xx1x100110
+                                                             011001x1xx0xxxxx000010xxxxxxxxxx
                                                              fmul.  */
-                                                          return 1387;
+                                                          return 1403;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx011000xxxxx0xx1x100110
+                                                             011001x1xx0xxxxx000110xxxxxxxxxx
                                                              frecps.  */
-                                                          return 1397;
+                                                          return 1416;
                                                         }
                                                     }
                                                 }
@@ -8487,9 +8762,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx10x000xxxxx0xx1x100110
+                                                         011001x1xx0xxxxx000x01xxxxxxxxxx
                                                          fsub.  */
-                                                      return 1410;
+                                                      return 1429;
                                                     }
                                                   else
                                                     {
@@ -8497,17 +8772,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx110000xxxxx0xx1x100110
+                                                             011001x1xx0xxxxx000011xxxxxxxxxx
                                                              ftsmul.  */
-                                                          return 1416;
+                                                          return 1435;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx111000xxxxx0xx1x100110
+                                                             011001x1xx0xxxxx000111xxxxxxxxxx
                                                              frsqrts.  */
-                                                          return 1407;
+                                                          return 1426;
                                                         }
                                                     }
                                                 }
@@ -8516,18 +8791,18 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx000xxxxx1xx1x100110
+                                                 011001x1xx1xxxxx000xxxxxxxxxxxxx
                                                  fmla.  */
-                                              return 1384;
+                                              return 1394;
                                             }
                                         }
                                       else
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx000xxxxxxxx1x100111
+                                             111001x1xxxxxxxx000xxxxxxxxxxxxx
                                              str.  */
-                                          return 1848;
+                                          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 1295;
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x1xx0xxxxx001xxxxxxxx0xxxx
+                                                     cmplt.  */
+                                                  return 1295;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     001001x1xx0xxxxx001xxxxxxxx1xxxx
+                                                     cmple.  */
+                                                  return 1289;
+                                                }
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxx1xxxxxxxx100xxxxx0xx1x10010x
-                                                 cmple.  */
-                                              return 1289;
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x10x0xxxxx001xxxxxxxxxxxxx
+                                                     ld1rqw.  */
+                                                  return 1504;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x11x0xxxxx001xxxxxxxxxxxxx
+                                                     ld1rqd.  */
+                                                  return 1500;
+                                                }
                                             }
                                         }
                                       else
@@ -8568,7 +8865,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxx100000000xx1x10011x
+                                                                 x11001x1xx000000001xxxxxxxxxxxxx
                                                                  faddv.  */
                                                               return 1340;
                                                             }
@@ -8578,17 +8875,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxx0xxxxxxxx100000010xx1x10011x
+                                                                     x11001x1xx010000001xxxxxxxx0xxxx
                                                                      fcmge.  */
-                                                                  return 1343;
+                                                                  return 1347;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxx1xxxxxxxx100000010xx1x10011x
+                                                                     x11001x1xx010000001xxxxxxxx1xxxx
                                                                      fcmgt.  */
-                                                                  return 1345;
+                                                                  return 1349;
                                                                 }
                                                             }
                                                         }
@@ -8596,7 +8893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx1000001x0xx1x10011x
+                                                             x11001x1xx0x1000001xxxxxxxxxxxxx
                                                              fadda.  */
                                                           return 1339;
                                                         }
@@ -8605,9 +8902,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx100001xx0xx1x10011x
+                                                         x11001x1xx0xx100001xxxxxxxxxxxxx
                                                          fmaxnmv.  */
-                                                      return 1376;
+                                                      return 1386;
                                                     }
                                                 }
                                               else
@@ -8616,9 +8913,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx100010xx0xx1x10011x
+                                                         x11001x1xx0xx010001xxxxxxxxxxxxx
                                                          fcmeq.  */
-                                                      return 1341;
+                                                      return 1345;
                                                     }
                                                   else
                                                     {
@@ -8626,17 +8923,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx1000110x0xx1x10011x
+                                                             x11001x1xx0x0110001xxxxxxxxxxxxx
                                                              fmaxv.  */
-                                                          return 1377;
+                                                          return 1387;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx1000111x0xx1x10011x
+                                                             x11001x1xx0x1110001xxxxxxxxxxxxx
                                                              frecpe.  */
-                                                          return 1396;
+                                                          return 1415;
                                                         }
                                                     }
                                                 }
@@ -8651,26 +8948,26 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxx0xxxxxxxx100100xx0xx1x10011x
+                                                             x11001x1xx0xx001001xxxxxxxx0xxxx
                                                              fcmlt.  */
-                                                          return 1348;
+                                                          return 1352;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxx1xxxxxxxx100100xx0xx1x10011x
+                                                             x11001x1xx0xx001001xxxxxxxx1xxxx
                                                              fcmle.  */
-                                                          return 1347;
+                                                          return 1351;
                                                         }
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx100101xx0xx1x10011x
+                                                         x11001x1xx0xx101001xxxxxxxxxxxxx
                                                          fminnmv.  */
-                                                      return 1382;
+                                                      return 1392;
                                                     }
                                                 }
                                               else
@@ -8679,9 +8976,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx100110xx0xx1x10011x
+                                                         x11001x1xx0xx011001xxxxxxxxxxxxx
                                                          fcmne.  */
-                                                      return 1349;
+                                                      return 1353;
                                                     }
                                                   else
                                                     {
@@ -8689,17 +8986,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx1001110x0xx1x10011x
+                                                             x11001x1xx0x0111001xxxxxxxxxxxxx
                                                              fminv.  */
-                                                          return 1383;
+                                                          return 1393;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx1001111x0xx1x10011x
+                                                             x11001x1xx0x1111001xxxxxxxxxxxxx
                                                              frsqrte.  */
-                                                          return 1406;
+                                                          return 1425;
                                                         }
                                                     }
                                                 }
@@ -8714,7 +9011,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxx0xxxxxxxx100xxxxx1xx1x10010x
+                                                 x01001x1xx1xxxxx001xxxxxxxx0xxxx
                                                  ctermeq.  */
                                               return 1310;
                                             }
@@ -8722,7 +9019,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxx1xxxxxxxx100xxxxx1xx1x10010x
+                                                 x01001x1xx1xxxxx001xxxxxxxx1xxxx
                                                  ctermne.  */
                                               return 1311;
                                             }
@@ -8731,22 +9028,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx100xxxxx1xx1x10011x
+                                             x11001x1xx1xxxxx001xxxxxxxxxxxxx
                                              fmls.  */
-                                          return 1385;
+                                          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)
                                                 {
@@ -8758,7 +9055,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxx0xxxx0xxxx10xxxx00001x100100
+                                                                 001001x10000xxxx01xxxx0xxxx0xxxx
                                                                  and.  */
                                                               return 1241;
                                                             }
@@ -8766,7 +9063,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxx1xxxx0xxxx10xxxx00001x100100
+                                                                 001001x10000xxxx01xxxx0xxxx1xxxx
                                                                  bic.  */
                                                               return 1253;
                                                             }
@@ -8777,7 +9074,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxx0xxxx10xxx010001x100100
+                                                                 001001x100010xxx01xxxx0xxxxxxxxx
                                                                  brka.  */
                                                               return 1255;
                                                             }
@@ -8785,7 +9082,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxx0xxxx10xxx110001x100100
+                                                                 001001x100011xxx01xxxx0xxxxxxxxx
                                                                  brkn.  */
                                                               return 1259;
                                                             }
@@ -8797,7 +9094,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxx0xxxx1xxxx10xxxxx0001x100100
+                                                             001001x1000xxxxx01xxxx1xxxx0xxxx
                                                              eor.  */
                                                           return 1328;
                                                         }
@@ -8805,9 +9102,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxx1xxxx1xxxx10xxxxx0001x100100
+                                                             001001x1000xxxxx01xxxx1xxxx1xxxx
                                                              sel.  */
-                                                          return 1728;
+                                                          return 1761;
                                                         }
                                                     }
                                                 }
@@ -8817,32 +9114,98 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx010xxxxx0001x100101
+                                                         101001x1000xxxxx010xxxxxxxxxxxxx
                                                          ld1sh.  */
-                                                      return 1500;
+                                                      return 1527;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0001x100101
+                                                         101001x1000xxxxx011xxxxxxxxxxxxx
                                                          ldff1sh.  */
-                                                      return 1589;
+                                                      return 1616;
                                                     }
                                                 }
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxxx10xxxxx0001x10011x
-                                                 stnt1w.  */
-                                              return 1846;
+                                              if (((word >> 31) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 9) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 4) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x11000xxxx01xxxx0xxxx0xxxx
+                                                                 orr.  */
+                                                              return 1697;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x11000xxxx01xxxx0xxxx1xxxx
+                                                                 orn.  */
+                                                              return 1692;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             001001x11001xxxx01xxxx0xxxxxxxxx
+                                                             brkb.  */
+                                                          return 1257;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 4) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             001001x1100xxxxx01xxxx1xxxx0xxxx
+                                                             nor.  */
+                                                          return 1689;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             001001x1100xxxxx01xxxx1xxxx1xxxx
+                                                             nand.  */
+                                                          return 1686;
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 13) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x1100xxxxx010xxxxxxxxxxxxx
+                                                         ld1sb.  */
+                                                      return 1515;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         101001x1100xxxxx011xxxxxxxxxxxxx
+                                                         ldff1sb.  */
+                                                      return 1607;
+                                                    }
+                                                }
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 30) & 0x1) == 0)
+                                          if (((word >> 23) & 0x1) == 0)
                                             {
                                               if (((word >> 31) & 0x1) == 0)
                                                 {
@@ -8854,7 +9217,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxx0xxxx0xxxx10xxxx00101x100100
+                                                                 001001x10100xxxx01xxxx0xxxx0xxxx
                                                                  ands.  */
                                                               return 1242;
                                                             }
@@ -8864,7 +9227,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxx0xxxx0xxxx10xxx010101x100100
+                                                                     001001x101010xxx01xxxx0xxxx0xxxx
                                                                      brkas.  */
                                                                   return 1256;
                                                                 }
@@ -8872,7 +9235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxx0xxxx0xxxx10xxx110101x100100
+                                                                     001001x101011xxx01xxxx0xxxx0xxxx
                                                                      brkns.  */
                                                                   return 1260;
                                                                 }
@@ -8882,7 +9245,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxx0xxxx1xxxx10xxxxx0101x100100
+                                                             001001x1010xxxxx01xxxx1xxxx0xxxx
                                                              eors.  */
                                                           return 1329;
                                                         }
@@ -8891,7 +9254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx1xxxxxxxxx10xxxxx0101x100100
+                                                         001001x1010xxxxx01xxxxxxxxx1xxxx
                                                          bics.  */
                                                       return 1254;
                                                     }
@@ -8902,193 +9265,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx010xxxxx0101x100101
+                                                         101001x1010xxxxx010xxxxxxxxxxxxx
                                                          ld1w.  */
-                                                      return 1519;
+                                                      return 1546;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0101x100101
+                                                         101001x1010xxxxx011xxxxxxxxxxxxx
                                                          ldff1w.  */
-                                                      return 1605;
-                                                    }
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 13) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx0101x10011x
-                                                     st1w.  */
-                                                  return 1808;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx0101x10011x
-                                                     st3w.  */
-                                                  return 1830;
-                                                }
-                                            }
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 13) & 0x1) == 0)
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx010xxxxx1001x1001xx
-                                                 ld1sh.  */
-                                              return 1501;
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 30) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx1101x10010x
-                                                     ld1w.  */
-                                                  return 1520;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx1101x10011x
-                                                     st1w.  */
-                                                  return 1810;
-                                                }
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              if (((word >> 30) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1001x10010x
-                                                     ldff1sh.  */
-                                                  return 1590;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1001x10011x
-                                                     st2w.  */
-                                                  return 1822;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 30) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1101x10010x
-                                                     ldff1w.  */
-                                                  return 1606;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1101x10011x
-                                                     st4w.  */
-                                                  return 1838;
-                                                }
-                                            }
-                                        }
-                                    }
-                                }
-                              else
-                                {
-                                  if (((word >> 30) & 0x1) == 0)
-                                    {
-                                      if (((word >> 21) & 0x1) == 0)
-                                        {
-                                          if (((word >> 22) & 0x1) == 0)
-                                            {
-                                              if (((word >> 31) & 0x1) == 0)
-                                                {
-                                                  if (((word >> 9) & 0x1) == 0)
-                                                    {
-                                                      if (((word >> 20) & 0x1) == 0)
-                                                        {
-                                                          if (((word >> 4) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxx0xxxx0xxxx10xxxx00011x100100
-                                                                 orr.  */
-                                                              return 1670;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxx1xxxx0xxxx10xxxx00011x100100
-                                                                 orn.  */
-                                                              return 1665;
-                                                            }
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxx0xxxx10xxxx10011x100100
-                                                             brkb.  */
-                                                          return 1257;
-                                                        }
-                                                    }
-                                                  else
-                                                    {
-                                                      if (((word >> 4) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxx0xxxx1xxxx10xxxxx0011x100100
-                                                             nor.  */
-                                                          return 1662;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxx1xxxx1xxxx10xxxxx0011x100100
-                                                             nand.  */
-                                                          return 1659;
-                                                        }
-                                                    }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 13) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx010xxxxx0011x100101
-                                                         ld1sb.  */
-                                                      return 1488;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0011x100101
-                                                         ldff1sb.  */
-                                                      return 1580;
+                                                      return 1632;
                                                     }
                                                 }
                                             }
@@ -9104,15 +9291,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxx0xxxx0xxxx10xxxx00111x100100
+                                                                 001001x11100xxxx01xxxx0xxxx0xxxx
                                                                  orrs.  */
-                                                              return 1671;
+                                                              return 1698;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxx0xxxx0xxxx10xxxx10111x100100
+                                                                 001001x11101xxxx01xxxx0xxxx0xxxx
                                                                  brkbs.  */
                                                               return 1258;
                                                             }
@@ -9121,9 +9308,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxx0xxxx1xxxx10xxxxx0111x100100
+                                                             001001x1110xxxxx01xxxx1xxxx0xxxx
                                                              nors.  */
-                                                          return 1663;
+                                                          return 1690;
                                                         }
                                                     }
                                                   else
@@ -9132,17 +9319,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxx1xxxx0xxxx10xxxxx0111x100100
+                                                             001001x1110xxxxx01xxxx0xxxx1xxxx
                                                              orns.  */
-                                                          return 1666;
+                                                          return 1693;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxx1xxxx1xxxx10xxxxx0111x100100
+                                                             001001x1110xxxxx01xxxx1xxxx1xxxx
                                                              nands.  */
-                                                          return 1660;
+                                                          return 1687;
                                                         }
                                                     }
                                                 }
@@ -9152,187 +9339,297 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx010xxxxx0111x100101
+                                                         101001x1110xxxxx010xxxxxxxxxxxxx
                                                          ld1sb.  */
-                                                      return 1490;
+                                                      return 1517;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0111x100101
+                                                         101001x1110xxxxx011xxxxxxxxxxxxx
                                                          ldff1sb.  */
-                                                      return 1582;
+                                                      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
+                                                     x01001x1001xxxxx010xxxxxxxxxxxxx
+                                                     ld1sh.  */
+                                                  return 1528;
+                                                }
+                                              else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx1011x10010x
+                                                     x01001x1101xxxxx010xxxxxxxxxxxxx
                                                      ld1sb.  */
-                                                  return 1489;
+                                                  return 1516;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x01001x1011xxxxx010xxxxxxxxxxxxx
+                                                     ld1w.  */
+                                                  return 1547;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx1111x10010x
+                                                     x01001x1111xxxxx010xxxxxxxxxxxxx
                                                      ld1d.  */
-                                                  return 1450;
+                                                  return 1469;
                                                 }
                                             }
-                                          else
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x01001x1001xxxxx011xxxxxxxxxxxxx
+                                                     ldff1sh.  */
+                                                  return 1617;
+                                                }
+                                              else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1011x10010x
+                                                     x01001x1101xxxxx011xxxxxxxxxxxxx
                                                      ldff1sb.  */
-                                                  return 1581;
+                                                  return 1608;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x01001x1011xxxxx011xxxxxxxxxxxxx
+                                                     ldff1w.  */
+                                                  return 1633;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1111x10010x
+                                                     x01001x1111xxxxx011xxxxxxxxxxxxx
                                                      ldff1d.  */
-                                                  return 1562;
+                                                  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
+                                                     011001x1xx0xxxxx010xxxxxxxx0xxxx
+                                                     fcmge.  */
+                                                  return 1348;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     011001x1xx0xxxxx010xxxxxxxx1xxxx
+                                                     fcmgt.  */
+                                                  return 1350;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 011001x1xx1xxxxx010xxxxxxxxxxxxx
+                                                 fnmla.  */
+                                              return 1412;
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 22) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 111001x1x0xxxxxx010xxxxxxxxxxxxx
+                                                 str.  */
+                                              return 1882;
+                                            }
+                                          else
                                             {
                                               if (((word >> 21) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 4) & 0x1) == 0)
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     111001x1x10xxxxx010xxxxxxxxxxxxx
+                                                     st1w.  */
+                                                  return 1841;
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx0xxxxxxxx010xxxxx0x11x100110
-                                                         fcmge.  */
-                                                      return 1344;
+                                                         111001x1011xxxxx010xxxxxxxxxxxxx
+                                                         st1w.  */
+                                                      return 1843;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx1xxxxxxxx010xxxxx0x11x100110
-                                                         fcmgt.  */
-                                                      return 1346;
+                                                         111001x1111xxxxx010xxxxxxxxxxxxx
+                                                         st1d.  */
+                                                      return 1820;
                                                     }
                                                 }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxx1x11x100110
-                                                     fnmla.  */
-                                                  return 1393;
-                                                }
                                             }
-                                          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 1849;
+                                                     011001x1xx0xxxxx011xxxxxxxx0xxxx
+                                                     fcmeq.  */
+                                                  return 1346;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx010xxxxxx111x100111
-                                                     st1d.  */
-                                                  return 1787;
+                                                     011001x1xx0xxxxx011xxxxxxxx1xxxx
+                                                     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 1342;
+                                                         111001x1000xxxxx011xxxxxxxxxxxxx
+                                                         stnt1w.  */
+                                                      return 1879;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx1xxxxxxxx110xxxxx0x11x100110
-                                                         fcmne.  */
-                                                      return 1350;
+                                                         111001x1100xxxxx011xxxxxxxxxxxxx
+                                                         stnt1d.  */
+                                                      return 1875;
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 22) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0011x100111
-                                                         stnt1d.  */
-                                                      return 1842;
+                                                         111001x1010xxxxx011xxxxxxxxxxxxx
+                                                         st3w.  */
+                                                      return 1863;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx0111x100111
+                                                         111001x1110xxxxx011xxxxxxxxxxxxx
                                                          st3d.  */
-                                                      return 1826;
+                                                      return 1859;
                                                     }
                                                 }
                                             }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 011001x1xx1xxxxx011xxxxxxxxxxxxx
+                                                 fnmls.  */
+                                              return 1413;
+                                            }
                                           else
                                             {
-                                              if (((word >> 31) & 0x1) == 0)
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx110xxxxx1x11x100110
-                                                     fnmls.  */
-                                                  return 1394;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x1001xxxxx011xxxxxxxxxxxxx
+                                                         st2w.  */
+                                                      return 1855;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x1101xxxxx011xxxxxxxxxxxxx
+                                                         st2d.  */
+                                                      return 1851;
+                                                    }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 22) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx1011x100111
-                                                         st2d.  */
-                                                      return 1818;
+                                                         111001x1011xxxxx011xxxxxxxxxxxxx
+                                                         st4w.  */
+                                                      return 1871;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx110xxxxx1111x100111
+                                                         111001x1111xxxxx011xxxxxxxxxxxxx
                                                          st4d.  */
-                                                      return 1834;
+                                                      return 1867;
                                                     }
                                                 }
                                             }
@@ -9355,7 +9652,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxx0xxxxxxxx001xxxxx0xx1x10010x
+                                                 x01001x1xx0xxxxx100xxxxxxxx0xxxx
                                                  cmpeq.  */
                                               return 1275;
                                             }
@@ -9363,7 +9660,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxx1xxxxxxxx001xxxxx0xx1x10010x
+                                                 x01001x1xx0xxxxx100xxxxxxxx1xxxx
                                                  cmpne.  */
                                               return 1298;
                                             }
@@ -9378,17 +9675,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx101xxxx00001x10010x
+                                                         x01001x10000xxxx101xxxxxxxxxxxxx
                                                          ld1sh.  */
-                                                      return 1507;
+                                                      return 1534;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx101xxxx00011x10010x
+                                                         x01001x11000xxxx101xxxxxxxxxxxxx
                                                          ld1sb.  */
-                                                      return 1494;
+                                                      return 1521;
                                                     }
                                                 }
                                               else
@@ -9397,17 +9694,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx101xxxx00101x10010x
+                                                         x01001x10100xxxx101xxxxxxxxxxxxx
                                                          ld1w.  */
-                                                      return 1526;
+                                                      return 1553;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx101xxxx00111x10010x
+                                                         x01001x11100xxxx101xxxxxxxxxxxxx
                                                          ld1sb.  */
-                                                      return 1496;
+                                                      return 1523;
                                                     }
                                                 }
                                             }
@@ -9419,17 +9716,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx101xxxx10001x10010x
+                                                         x01001x10001xxxx101xxxxxxxxxxxxx
                                                          ldnf1sh.  */
-                                                      return 1624;
+                                                      return 1651;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx101xxxx10011x10010x
+                                                         x01001x11001xxxx101xxxxxxxxxxxxx
                                                          ldnf1sb.  */
-                                                      return 1621;
+                                                      return 1648;
                                                     }
                                                 }
                                               else
@@ -9438,17 +9735,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx101xxxx10101x10010x
+                                                         x01001x10101xxxx101xxxxxxxxxxxxx
                                                          ldnf1w.  */
-                                                      return 1627;
+                                                      return 1654;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx101xxxx10111x10010x
+                                                         x01001x11101xxxx101xxxxxxxxxxxxx
                                                          ldnf1sb.  */
-                                                      return 1623;
+                                                      return 1650;
                                                     }
                                                 }
                                             }
@@ -9466,7 +9763,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx0xxxxxxxxx11xxxx000x1x100100
+                                                         001001x1x000xxxx11xxxxxxxxx0xxxx
                                                          brkpa.  */
                                                       return 1261;
                                                     }
@@ -9474,7 +9771,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxx0xxxxxxxxx11xxxx001x1x100100
+                                                         001001x1x100xxxx11xxxxxxxxx0xxxx
                                                          brkpas.  */
                                                       return 1262;
                                                     }
@@ -9487,9 +9784,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxx0xxxxxxxxx110xx010xx1x100100
+                                                             001001x1xx010xx011xxxxxxxxx0xxxx
                                                              ptest.  */
-                                                          return 1704;
+                                                          return 1731;
                                                         }
                                                       else
                                                         {
@@ -9501,17 +9798,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxx0xxxxx0x00110xx110xx1x100100
+                                                                         001001x1xx011xx01100x0xxxxx0xxxx
                                                                          pfirst.  */
-                                                                      return 1674;
+                                                                      return 1701;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxx0xxxxx0x01110xx110xx1x100100
+                                                                         001001x1xx011xx01110x0xxxxx0xxxx
                                                                          ptrue.  */
-                                                                      return 1705;
+                                                                      return 1732;
                                                                     }
                                                                 }
                                                               else
@@ -9520,17 +9817,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxx0xxxxx0x1x110xx1100x1x100100
+                                                                         001001x1x0011xx011x1x0xxxxx0xxxx
                                                                          rdffr.  */
-                                                                      return 1711;
+                                                                      return 1738;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxx0xxxxx0x1x110xx1101x1x100100
+                                                                         001001x1x1011xx011x1x0xxxxx0xxxx
                                                                          rdffrs.  */
-                                                                      return 1712;
+                                                                      return 1739;
                                                                     }
                                                                 }
                                                             }
@@ -9538,9 +9835,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxx0xxxxx1xxx110xx110xx1x100100
+                                                                 001001x1xx011xx011xxx1xxxxx0xxxx
                                                                  pfalse.  */
-                                                              return 1673;
+                                                              return 1700;
                                                             }
                                                         }
                                                     }
@@ -9552,26 +9849,26 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxx0xxxxx0x0x111xxx10xx1x100100
+                                                                 001001x1xx01xxx111x0x0xxxxx0xxxx
                                                                  ptrues.  */
-                                                              return 1706;
+                                                              return 1733;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxx0xxxxx0x1x111xxx10xx1x100100
+                                                                 001001x1xx01xxx111x1x0xxxxx0xxxx
                                                                  rdffr.  */
-                                                              return 1710;
+                                                              return 1737;
                                                             }
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxx0xxxxx1xxx111xxx10xx1x100100
+                                                             001001x1xx01xxx111xxx1xxxxx0xxxx
                                                              pnext.  */
-                                                          return 1675;
+                                                          return 1702;
                                                         }
                                                     }
                                                 }
@@ -9582,7 +9879,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxx1xxxxxxxxx11xxxxx00x1x100100
+                                                     001001x1x00xxxxx11xxxxxxxxx1xxxx
                                                      brkpb.  */
                                                   return 1263;
                                                 }
@@ -9590,7 +9887,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxx1xxxxxxxxx11xxxxx01x1x100100
+                                                     001001x1x10xxxxx11xxxxxxxxx1xxxx
                                                      brkpbs.  */
                                                   return 1264;
                                                 }
@@ -9606,17 +9903,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx0001x100101
+                                                         101001x1000xxxxx110xxxxxxxxxxxxx
                                                          ldnt1w.  */
-                                                      return 1635;
+                                                      return 1662;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx0011x100101
+                                                         101001x1100xxxxx110xxxxxxxxxxxxx
                                                          ldnt1d.  */
-                                                      return 1631;
+                                                      return 1658;
                                                     }
                                                 }
                                               else
@@ -9625,17 +9922,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx0101x100101
+                                                         101001x1010xxxxx110xxxxxxxxxxxxx
                                                          ld3w.  */
-                                                      return 1543;
+                                                      return 1570;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx0111x100101
+                                                         101001x1110xxxxx110xxxxxxxxxxxxx
                                                          ld3d.  */
-                                                      return 1539;
+                                                      return 1566;
                                                     }
                                                 }
                                             }
@@ -9647,17 +9944,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0001x100101
+                                                         101001x1000xxxxx111xxxxxxxxxxxxx
                                                          ldnt1w.  */
-                                                      return 1636;
+                                                      return 1663;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0011x100101
+                                                         101001x1100xxxxx111xxxxxxxxxxxxx
                                                          ldnt1d.  */
-                                                      return 1632;
+                                                      return 1659;
                                                     }
                                                 }
                                               else
@@ -9666,17 +9963,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0101x100101
+                                                         101001x1010xxxxx111xxxxxxxxxxxxx
                                                          ld3w.  */
-                                                      return 1544;
+                                                      return 1571;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0111x100101
+                                                         101001x1110xxxxx111xxxxxxxxxxxxx
                                                          ld3d.  */
-                                                      return 1540;
+                                                      return 1567;
                                                     }
                                                 }
                                             }
@@ -9687,741 +9984,873 @@ 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 1804;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx0101x10011x
-                                                 st1w.  */
-                                              return 1809;
-                                            }
-                                        }
-                                      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 1337;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001001000x11x100110
-                                                                         fmaxnm.  */
-                                                                      return 1374;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx000000100xxxxxxxxxxxxx
+                                                                     fadd.  */
+                                                                  return 1337;
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 18) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001010000x11x100110
-                                                                         fmul.  */
-                                                                      return 1388;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001011000x11x100110
-                                                                         fmax.  */
-                                                                      return 1372;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx000100100xxxxxxxxxxxxx
+                                                                     fmaxnm.  */
+                                                                  return 1384;
                                                                 }
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 17) & 0x1) == 0)
+                                                              if (((word >> 18) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 18) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001100000x11x100110
-                                                                         fsub.  */
-                                                                      return 1411;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001101000x11x100110
-                                                                         fminnm.  */
-                                                                      return 1380;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx000010100xxxxxxxxxxxxx
+                                                                     fmul.  */
+                                                                  return 1404;
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 18) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001110000x11x100110
-                                                                         fsubr.  */
-                                                                      return 1413;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001111000x11x100110
-                                                                         fmin.  */
-                                                                      return 1378;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx000110100xxxxxxxxxxxxx
+                                                                     fmax.  */
+                                                                  return 1382;
                                                                 }
                                                             }
                                                         }
                                                       else
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx001xxx010x11x100110
-                                                             ftmad.  */
-                                                          return 1415;
+                                                          if (((word >> 17) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 18) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx000001100xxxxxxxxxxxxx
+                                                                     fsub.  */
+                                                                  return 1430;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx000101100xxxxxxxxxxxxx
+                                                                     fminnm.  */
+                                                                  return 1390;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 18) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx000011100xxxxxxxxxxxxx
+                                                                     fsubr.  */
+                                                                  return 1432;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx000111100xxxxxxxxxxxxx
+                                                                     fmin.  */
+                                                                  return 1388;
+                                                                }
+                                                            }
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 16) & 0x1) == 0)
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         011001x1xx010xxx100xxxxxxxxxxxxx
+                                                         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 1332;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001000110x11x100110
-                                                                         fadd.  */
-                                                                      return 1338;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx001000100xxxxxxxxxxxxx
+                                                                     fabd.  */
+                                                                  return 1332;
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001001100x11x100110
-                                                                         fdivr.  */
-                                                                      return 1368;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001001110x11x100110
-                                                                         fmaxnm.  */
-                                                                      return 1375;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx011000100xxxxxxxxxxxxx
+                                                                     fadd.  */
+                                                                  return 1338;
                                                                 }
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 18) & 0x1) == 0)
+                                                              if (((word >> 20) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001010100x11x100110
-                                                                         fmulx.  */
-                                                                      return 1390;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001010110x11x100110
-                                                                         fmul.  */
-                                                                      return 1389;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx001100100xxxxxxxxxxxxx
+                                                                     fdivr.  */
+                                                                  return 1378;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx0010111x0x11x100110
-                                                                     fmax.  */
-                                                                  return 1373;
+                                                                     011001x1xx011100100xxxxxxxxxxxxx
+                                                                     fmaxnm.  */
+                                                                  return 1385;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 18) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx001010100xxxxxxxxxxxxx
+                                                                     fmulx.  */
+                                                                  return 1409;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx011010100xxxxxxxxxxxxx
+                                                                     fmul.  */
+                                                                  return 1405;
                                                                 }
                                                             }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x1xx0x1110100xxxxxxxxxxxxx
+                                                                 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 1408;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001100110x11x100110
-                                                                         fsub.  */
-                                                                      return 1412;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx001001100xxxxxxxxxxxxx
+                                                                     fscale.  */
+                                                                  return 1427;
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001101100x11x100110
-                                                                         fdiv.  */
-                                                                      return 1367;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx001101110x11x100110
-                                                                         fminnm.  */
-                                                                      return 1381;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx011001100xxxxxxxxxxxxx
+                                                                     fsub.  */
+                                                                  return 1431;
                                                                 }
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 18) & 0x1) == 0)
+                                                              if (((word >> 20) & 0x1) == 0)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx0011101x0x11x100110
-                                                                     fsubr.  */
-                                                                  return 1414;
+                                                                     011001x1xx001101100xxxxxxxxxxxxx
+                                                                     fdiv.  */
+                                                                  return 1377;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx0011111x0x11x100110
-                                                                     fmin.  */
-                                                                  return 1379;
+                                                                     011001x1xx011101100xxxxxxxxxxxxx
+                                                                     fminnm.  */
+                                                                  return 1391;
                                                                 }
                                                             }
                                                         }
-                                                    }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 4) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxx0xxxxxxxx011xxxxx0x11x100110
-                                                         fcmuo.  */
-                                                      return 1351;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxx1xxxxxxxx011xxxxx0x11x100110
-                                                         facge.  */
-                                                      return 1334;
+                                                      else
+                                                        {
+                                                          if (((word >> 18) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x1xx0x1011100xxxxxxxxxxxxx
+                                                                 fsubr.  */
+                                                              return 1433;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x1xx0x1111100xxxxxxxxxxxxx
+                                                                 fmin.  */
+                                                              return 1389;
+                                                            }
+                                                        }
                                                     }
                                                 }
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx0x11x100111
-                                                 st1d.  */
-                                              return 1783;
+                                              if (((word >> 4) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     011001x1xx0xxxxx110xxxxxxxx0xxxx
+                                                     fcmuo.  */
+                                                  return 1355;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     011001x1xx0xxxxx110xxxxxxxx1xxxx
+                                                     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
+                                                     111001x1000xxxxx1x0xxxxxxxxxxxxx
                                                      st1w.  */
-                                                  return 1805;
+                                                  return 1837;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx0101x10011x
-                                                     st1w.  */
-                                                  return 1812;
+                                                     111001x1100xxxxx1x0xxxxxxxxxxxxx
+                                                     st1d.  */
+                                                  return 1816;
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 31) & 0x1) == 0)
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 111001x1x10xxxxx1x0xxxxxxxxxxxxx
+                                                 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
+                                                                     011001x1xx000000101xxxxxxxxxxxxx
+                                                                     frintn.  */
+                                                                  return 1421;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx010000101xxxxxxxxxxxxx
+                                                                     scvtf.  */
+                                                                  return 1751;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 22) & 0x1) == 0)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101000000x11x100110
-                                                                         frintn.  */
-                                                                      return 1402;
+                                                                         011001x1x0001000101xxxxxxxxxxxxx
+                                                                         fcvt.  */
+                                                                      return 1357;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101000010x11x100110
-                                                                         scvtf.  */
-                                                                      return 1722;
+                                                                         011001x1x1001000101xxxxxxxxxxxxx
+                                                                         fcvt.  */
+                                                                      return 1359;
                                                                     }
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
-                                                                    {
-                                                                      if (((word >> 22) & 0x1) == 0)
-                                                                        {
-                                                                          /* 33222222222211111111110000000000
-                                                                             10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101000100011x100110
-                                                                             fcvt.  */
-                                                                          return 1353;
-                                                                        }
-                                                                      else
-                                                                        {
-                                                                          /* 33222222222211111111110000000000
-                                                                             10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101000100111x100110
-                                                                             fcvt.  */
-                                                                          return 1355;
-                                                                        }
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101000110x11x100110
-                                                                         fcvtzs.  */
-                                                                      return 1360;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx011000101xxxxxxxxxxxxx
+                                                                     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
+                                                                     011001x1xx000100101xxxxxxxxxxxxx
+                                                                     frinta.  */
+                                                                  return 1418;
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 22) & 0x1) == 0)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101001000x11x100110
-                                                                         frinta.  */
-                                                                      return 1399;
+                                                                         011001x1x0010100101xxxxxxxxxxxxx
+                                                                         scvtf.  */
+                                                                      return 1750;
                                                                     }
                                                                   else
                                                                     {
-                                                                      if (((word >> 22) & 0x1) == 0)
+                                                                      if (((word >> 23) & 0x1) == 0)
                                                                         {
                                                                           /* 33222222222211111111110000000000
                                                                              10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101001010011x100110
+                                                                             011001x101010100101xxxxxxxxxxxxx
                                                                              scvtf.  */
-                                                                          return 1721;
+                                                                          return 1749;
                                                                         }
                                                                       else
                                                                         {
                                                                           /* 33222222222211111111110000000000
                                                                              10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101001010111x100110
+                                                                             011001x111010100101xxxxxxxxxxxxx
                                                                              scvtf.  */
-                                                                          return 1723;
+                                                                          return 1753;
                                                                         }
                                                                     }
                                                                 }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx001100101xxxxxxxxxxxxx
+                                                                     frecpx.  */
+                                                                  return 1417;
+                                                                }
                                                               else
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
+                                                                  if (((word >> 22) & 0x1) == 0)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101001100x11x100110
-                                                                         frecpx.  */
-                                                                      return 1398;
+                                                                         011001x1x0011100101xxxxxxxxxxxxx
+                                                                         fcvtzs.  */
+                                                                      return 1366;
                                                                     }
                                                                   else
                                                                     {
-                                                                      if (((word >> 22) & 0x1) == 0)
+                                                                      if (((word >> 23) & 0x1) == 0)
                                                                         {
                                                                           /* 33222222222211111111110000000000
                                                                              10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101001110011x100110
+                                                                             011001x101011100101xxxxxxxxxxxxx
                                                                              fcvtzs.  */
-                                                                          return 1359;
+                                                                          return 1364;
                                                                         }
                                                                       else
                                                                         {
                                                                           /* 33222222222211111111110000000000
                                                                              10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101001110111x100110
+                                                                             011001x111011100101xxxxxxxxxxxxx
                                                                              fcvtzs.  */
-                                                                          return 1361;
+                                                                          return 1368;
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                         }
-                                                      else
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 18) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx000010101xxxxxxxxxxxxx
+                                                                     frintm.  */
+                                                                  return 1420;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx010010101xxxxxxxxxxxxx
+                                                                     scvtf.  */
+                                                                  return 1748;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx001010101xxxxxxxxxxxxx
+                                                                     fcvt.  */
+                                                                  return 1361;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx011010101xxxxxxxxxxxxx
+                                                                     fcvtzs.  */
+                                                                  return 1363;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx000110101xxxxxxxxxxxxx
+                                                                     frintx.  */
+                                                                  return 1423;
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 23) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         011001x10x010110101xxxxxxxxxxxxx
+                                                                         scvtf.  */
+                                                                      return 1752;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         011001x11x010110101xxxxxxxxxxxxx
+                                                                         scvtf.  */
+                                                                      return 1754;
+                                                                    }
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x10x0x1110101xxxxxxxxxxxxx
+                                                                     fcvtzs.  */
+                                                                  return 1365;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x11x0x1110101xxxxxxxxxxxxx
+                                                                     fcvtzs.  */
+                                                                  return 1369;
+                                                                }
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  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)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx1010100x0x11x100110
-                                                                     frintm.  */
-                                                                  return 1401;
+                                                                     011001x1xx000001101xxxxxxxxxxxxx
+                                                                     frintp.  */
+                                                                  return 1422;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx1010101x0x11x100110
-                                                                     fcvt.  */
-                                                                  return 1357;
+                                                                     011001x1xx010001101xxxxxxxxxxxxx
+                                                                     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
-                                                                         xxxxxxxxxxxxx101011000x11x100110
-                                                                         frintx.  */
-                                                                      return 1404;
+                                                                         011001x1x0001001101xxxxxxxxxxxxx
+                                                                         fcvt.  */
+                                                                      return 1358;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101011010x11x100110
-                                                                         scvtf.  */
-                                                                      return 1724;
+                                                                         011001x1x1001001101xxxxxxxxxxxxx
+                                                                         fcvt.  */
+                                                                      return 1360;
                                                                     }
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx1010111x0x11x100110
-                                                                     fcvtzs.  */
-                                                                  return 1362;
+                                                                     011001x1xx011001101xxxxxxxxxxxxx
+                                                                     fcvtzu.  */
+                                                                  return 1374;
                                                                 }
                                                             }
                                                         }
-                                                    }
-                                                  else
-                                                    {
-                                                      if (((word >> 17) & 0x1) == 0)
+                                                      else
                                                         {
-                                                          if (((word >> 18) & 0x1) == 0)
+                                                          if (((word >> 19) & 0x1) == 0)
                                                             {
-                                                              if (((word >> 19) & 0x1) == 0)
+                                                              if (((word >> 22) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101100000x11x100110
-                                                                         frintp.  */
-                                                                      return 1403;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101100010x11x100110
-                                                                         ucvtf.  */
-                                                                      return 1868;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1x00x0101101xxxxxxxxxxxxx
+                                                                     ucvtf.  */
+                                                                  return 1902;
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
+                                                                  if (((word >> 23) & 0x1) == 0)
                                                                     {
-                                                                      if (((word >> 22) & 0x1) == 0)
-                                                                        {
-                                                                          /* 33222222222211111111110000000000
-                                                                             10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101100100011x100110
-                                                                             fcvt.  */
-                                                                          return 1354;
-                                                                        }
-                                                                      else
-                                                                        {
-                                                                          /* 33222222222211111111110000000000
-                                                                             10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101100100111x100110
-                                                                             fcvt.  */
-                                                                          return 1356;
-                                                                        }
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         011001x1010x0101101xxxxxxxxxxxxx
+                                                                         ucvtf.  */
+                                                                      return 1901;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101100110x11x100110
-                                                                         fcvtzu.  */
-                                                                      return 1364;
+                                                                         011001x1110x0101101xxxxxxxxxxxxx
+                                                                         ucvtf.  */
+                                                                      return 1905;
                                                                     }
                                                                 }
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 19) & 0x1) == 0)
+                                                              if (((word >> 20) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 22) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx1011010x0011x100110
-                                                                         ucvtf.  */
-                                                                      return 1867;
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx1011010x0111x100110
-                                                                         ucvtf.  */
-                                                                      return 1869;
-                                                                    }
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx001101101xxxxxxxxxxxxx
+                                                                     fsqrt.  */
+                                                                  return 1428;
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
+                                                                  if (((word >> 22) & 0x1) == 0)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101101100x11x100110
-                                                                         fsqrt.  */
-                                                                      return 1409;
+                                                                         011001x1x0011101101xxxxxxxxxxxxx
+                                                                         fcvtzu.  */
+                                                                      return 1373;
                                                                     }
                                                                   else
                                                                     {
-                                                                      if (((word >> 22) & 0x1) == 0)
+                                                                      if (((word >> 23) & 0x1) == 0)
                                                                         {
                                                                           /* 33222222222211111111110000000000
                                                                              10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101101110011x100110
+                                                                             011001x101011101101xxxxxxxxxxxxx
                                                                              fcvtzu.  */
-                                                                          return 1363;
+                                                                          return 1371;
                                                                         }
                                                                       else
                                                                         {
                                                                           /* 33222222222211111111110000000000
                                                                              10987654321098765432109876543210
-                                                                             xxxxxxxxxxxxx101101110111x100110
+                                                                             011001x111011101101xxxxxxxxxxxxx
                                                                              fcvtzu.  */
-                                                                          return 1365;
+                                                                          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
+                                                                     011001x1xx000011101xxxxxxxxxxxxx
                                                                      frintz.  */
-                                                                  return 1405;
+                                                                  return 1424;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx1011101x0x11x100110
-                                                                     fcvt.  */
-                                                                  return 1358;
+                                                                     011001x1xx010011101xxxxxxxxxxxxx
+                                                                     ucvtf.  */
+                                                                  return 1900;
                                                                 }
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 19) & 0x1) == 0)
+                                                              if (((word >> 20) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 20) & 0x1) == 0)
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx001011101xxxxxxxxxxxxx
+                                                                     fcvt.  */
+                                                                  return 1362;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx011011101xxxxxxxxxxxxx
+                                                                     fcvtzu.  */
+                                                                  return 1370;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x1xx000111101xxxxxxxxxxxxx
+                                                                     frinti.  */
+                                                                  return 1419;
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 23) & 0x1) == 0)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101111000x11x100110
-                                                                         frinti.  */
-                                                                      return 1400;
+                                                                         011001x10x010111101xxxxxxxxxxxxx
+                                                                         ucvtf.  */
+                                                                      return 1904;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxxxxx101111010x11x100110
+                                                                         011001x11x010111101xxxxxxxxxxxxx
                                                                          ucvtf.  */
-                                                                      return 1870;
+                                                                      return 1906;
                                                                     }
                                                                 }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x10x0x1111101xxxxxxxxxxxxx
+                                                                     fcvtzu.  */
+                                                                  return 1372;
+                                                                }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxxxx1011111x0x11x100110
+                                                                     011001x11x0x1111101xxxxxxxxxxxxx
                                                                      fcvtzu.  */
-                                                                  return 1366;
+                                                                  return 1376;
                                                                 }
                                                             }
                                                         }
                                                     }
                                                 }
-                                              else
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 22) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx101xxxxx0011x100111
-                                                         st1d.  */
-                                                      return 1784;
+                                                         111001x1000xxxxx101xxxxxxxxxxxxx
+                                                         st1w.  */
+                                                      return 1838;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx101xxxxx0111x100111
+                                                         111001x1100xxxxx101xxxxxxxxxxxxx
                                                          st1d.  */
-                                                      return 1788;
+                                                      return 1817;
                                                     }
                                                 }
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              if (((word >> 20) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxx00x01x10011x
-                                                     st1w.  */
-                                                  return 1813;
-                                                }
                                               else
                                                 {
-                                                  if (((word >> 22) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx10001x10011x
-                                                         stnt1w.  */
-                                                      return 1847;
+                                                         111001x1010xxxxx101xxxxxxxxxxxxx
+                                                         st1w.  */
+                                                      return 1845;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx10101x10011x
-                                                         st3w.  */
-                                                      return 1831;
+                                                         111001x1110xxxxx101xxxxxxxxxxxxx
+                                                         st1d.  */
+                                                      return 1821;
                                                     }
                                                 }
                                             }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 011001x1xx0xxxxx111xxxxxxxxxxxxx
+                                                 facgt.  */
+                                              return 1335;
+                                            }
                                           else
                                             {
-                                              if (((word >> 31) & 0x1) == 0)
+                                              if (((word >> 20) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx0x11x100110
-                                                     facgt.  */
-                                                  return 1335;
+                                                     111001x1xx00xxxx111xxxxxxxxxxxxx
+                                                     st1w.  */
+                                                  return 1846;
                                                 }
                                               else
                                                 {
                                                   if (((word >> 22) & 0x1) == 0)
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0011x100111
-                                                         stnt1d.  */
-                                                      return 1843;
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             111001x10001xxxx111xxxxxxxxxxxxx
+                                                             stnt1w.  */
+                                                          return 1880;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             111001x11001xxxx111xxxxxxxxxxxxx
+                                                             stnt1d.  */
+                                                          return 1876;
+                                                        }
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx0111x100111
-                                                         st3d.  */
-                                                      return 1827;
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             111001x10101xxxx111xxxxxxxxxxxxx
+                                                             st3w.  */
+                                                          return 1864;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             111001x11101xxxx111xxxxxxxxxxxxx
+                                                             st3d.  */
+                                                          return 1860;
+                                                        }
                                                     }
                                                 }
                                             }
@@ -10449,7 +10878,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxxx01000001xx1x100100
+                                                                 001001x1xx10000010xxxxxxxxxxxxxx
                                                                  cntp.  */
                                                               return 1304;
                                                             }
@@ -10463,35 +10892,35 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                         {
                                                                           /* 33222222222211111111110000000000
                                                                              10987654321098765432109876543210
-                                                                             xxxxxxxxxx000x01000101xx1x100100
+                                                                             001001x1xx10100010x000xxxxxxxxxx
                                                                              sqincp.  */
-                                                                          return 1762;
+                                                                          return 1795;
                                                                         }
                                                                       else
                                                                         {
                                                                           /* 33222222222211111111110000000000
                                                                              10987654321098765432109876543210
-                                                                             xxxxxxxxxx001x01000101xx1x100100
+                                                                             001001x1xx10100010x100xxxxxxxxxx
                                                                              wrffr.  */
-                                                                          return 1929;
+                                                                          return 1968;
                                                                         }
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx01xx01000101xx1x100100
+                                                                         001001x1xx10100010xx10xxxxxxxxxx
                                                                          sqincp.  */
-                                                                      return 1764;
+                                                                      return 1797;
                                                                     }
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx1xxx01000101xx1x100100
+                                                                     001001x1xx10100010xxx1xxxxxxxxxx
                                                                      sqincp.  */
-                                                                  return 1763;
+                                                                  return 1796;
                                                                 }
                                                             }
                                                         }
@@ -10503,26 +10932,26 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxx00x01001x01xx1x100100
+                                                                     001001x1xx10x10010x00xxxxxxxxxxx
                                                                      incp.  */
-                                                                  return 1423;
+                                                                  return 1442;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxxx01x01001x01xx1x100100
+                                                                     001001x1xx10x10010x10xxxxxxxxxxx
                                                                      setffr.  */
-                                                                  return 1729;
+                                                                  return 1762;
                                                                 }
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxx1xx01001x01xx1x100100
+                                                                 001001x1xx10x10010xx1xxxxxxxxxxx
                                                                  incp.  */
-                                                              return 1424;
+                                                              return 1443;
                                                             }
                                                         }
                                                     }
@@ -10534,26 +10963,26 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00xx0101xx01xx1x100100
+                                                                 001001x1xx10xx1010xx00xxxxxxxxxx
                                                                  sqdecp.  */
-                                                              return 1748;
+                                                              return 1781;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx01xx0101xx01xx1x100100
+                                                                 001001x1xx10xx1010xx10xxxxxxxxxx
                                                                  sqdecp.  */
-                                                              return 1750;
+                                                              return 1783;
                                                             }
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1xxx0101xx01xx1x100100
+                                                             001001x1xx10xx1010xxx1xxxxxxxxxx
                                                              sqdecp.  */
-                                                          return 1749;
+                                                          return 1782;
                                                         }
                                                     }
                                                 }
@@ -10569,15 +10998,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00xx01100x01xx1x100100
+                                                                     001001x1xx10x00110xx00xxxxxxxxxx
                                                                      uqincp.  */
-                                                                  return 1904;
+                                                                  return 1943;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx00xx01101x01xx1x100100
+                                                                     001001x1xx10x10110xx00xxxxxxxxxx
                                                                      decp.  */
                                                                   return 1317;
                                                                 }
@@ -10586,9 +11015,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx00xx0111xx01xx1x100100
+                                                                 001001x1xx10xx1110xx00xxxxxxxxxx
                                                                  uqdecp.  */
-                                                              return 1890;
+                                                              return 1929;
                                                             }
                                                         }
                                                       else
@@ -10599,15 +11028,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx01xx01100x01xx1x100100
+                                                                     001001x1xx10x00110xx10xxxxxxxxxx
                                                                      uqincp.  */
-                                                                  return 1905;
+                                                                  return 1944;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx01xx01101x01xx1x100100
+                                                                     001001x1xx10x10110xx10xxxxxxxxxx
                                                                      decp.  */
                                                                   return 1318;
                                                                 }
@@ -10616,9 +11045,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx01xx0111xx01xx1x100100
+                                                                 001001x1xx10xx1110xx10xxxxxxxxxx
                                                                  uqdecp.  */
-                                                              return 1891;
+                                                              return 1930;
                                                             }
                                                         }
                                                     }
@@ -10628,17 +11057,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1xxx0110xx01xx1x100100
+                                                             001001x1xx10xx0110xxx1xxxxxxxxxx
                                                              uqincp.  */
-                                                          return 1906;
+                                                          return 1945;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1xxx0111xx01xx1x100100
+                                                             001001x1xx10xx1110xxx1xxxxxxxxxx
                                                              uqdecp.  */
-                                                          return 1892;
+                                                          return 1931;
                                                         }
                                                     }
                                                 }
@@ -10651,17 +11080,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxxx01xxxx01001x100101
+                                                         101001x10010xxxx10xxxxxxxxxxxxxx
                                                          ld1sh.  */
-                                                      return 1508;
+                                                      return 1535;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxxx01xxxx01011x100101
+                                                         101001x11010xxxx10xxxxxxxxxxxxxx
                                                          ld1sb.  */
-                                                      return 1495;
+                                                      return 1522;
                                                     }
                                                 }
                                               else
@@ -10670,17 +11099,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxxx01xxxx01101x100101
+                                                         101001x10110xxxx10xxxxxxxxxxxxxx
                                                          ld1w.  */
-                                                      return 1527;
+                                                      return 1554;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxxx01xxxx01111x100101
+                                                         101001x11110xxxx10xxxxxxxxxxxxxx
                                                          ld1d.  */
-                                                      return 1455;
+                                                      return 1474;
                                                     }
                                                 }
                                             }
@@ -10693,17 +11122,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxxx01xxxx11001x10010x
+                                                     x01001x10011xxxx10xxxxxxxxxxxxxx
                                                      ldnf1sh.  */
-                                                  return 1625;
+                                                  return 1652;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxxx01xxxx11011x10010x
+                                                     x01001x11011xxxx10xxxxxxxxxxxxxx
                                                      ldnf1sb.  */
-                                                  return 1622;
+                                                  return 1649;
                                                 }
                                             }
                                           else
@@ -10712,17 +11141,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxxx01xxxx11101x10010x
+                                                     x01001x10111xxxx10xxxxxxxxxxxxxx
                                                      ldnf1w.  */
-                                                  return 1628;
+                                                  return 1655;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxxx01xxxx11111x10010x
+                                                     x01001x11111xxxx10xxxxxxxxxxxxxx
                                                      ldnf1d.  */
-                                                  return 1617;
+                                                  return 1644;
                                                 }
                                             }
                                         }
@@ -10743,7 +11172,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxxx11000001xx1x100100
+                                                                 001001x1xx10000011xxxxxxxxxxxxxx
                                                                  add.  */
                                                               return 1231;
                                                             }
@@ -10751,9 +11180,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxxx11000011xx1x100100
+                                                                 001001x1xx11000011xxxxxxxxxxxxxx
                                                                  mul.  */
-                                                              return 1657;
+                                                              return 1684;
                                                             }
                                                         }
                                                       else
@@ -10762,15 +11191,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxxx11000101xx1x100100
+                                                                 001001x1xx10100011xxxxxxxxxxxxxx
                                                                  smax.  */
-                                                              return 1730;
+                                                              return 1763;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxxx11000111xx1x100100
+                                                                 001001x1xx11100011xxxxxxxxxxxxxx
                                                                  dup.  */
                                                               return 1323;
                                                             }
@@ -10780,9 +11209,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxxx11001xx1xx1x100100
+                                                         001001x1xx1xx10011xxxxxxxxxxxxxx
                                                          sqadd.  */
-                                                      return 1739;
+                                                      return 1772;
                                                     }
                                                 }
                                               else
@@ -10791,17 +11220,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxxx11010xx1xx1x100100
+                                                         001001x1xx1xx01011xxxxxxxxxxxxxx
                                                          smin.  */
-                                                      return 1733;
+                                                      return 1766;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxxx11011xx1xx1x100100
+                                                         001001x1xx1xx11011xxxxxxxxxxxxxx
                                                          sqsub.  */
-                                                      return 1769;
+                                                      return 1802;
                                                     }
                                                 }
                                             }
@@ -10815,9 +11244,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxxx111000x1xx1x100100
+                                                             001001x1xx1x000111xxxxxxxxxxxxxx
                                                              sub.  */
-                                                          return 1851;
+                                                          return 1884;
                                                         }
                                                       else
                                                         {
@@ -10825,17 +11254,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxxx11100101xx1x100100
+                                                                 001001x1xx10100111xxxxxxxxxxxxxx
                                                                  umax.  */
-                                                              return 1873;
+                                                              return 1912;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxxxxxx11100111xx1x100100
+                                                                 001001x1xx11100111xxxxxxxxxxxxxx
                                                                  fdup.  */
-                                                              return 1369;
+                                                              return 1379;
                                                             }
                                                         }
                                                     }
@@ -10843,9 +11272,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxxx11101xx1xx1x100100
+                                                         001001x1xx1xx10111xxxxxxxxxxxxxx
                                                          uqadd.  */
-                                                      return 1881;
+                                                      return 1920;
                                                     }
                                                 }
                                               else
@@ -10856,26 +11285,26 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxxx111100x1xx1x100100
+                                                             001001x1xx1x001111xxxxxxxxxxxxxx
                                                              subr.  */
-                                                          return 1853;
+                                                          return 1886;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxxx111101x1xx1x100100
+                                                             001001x1xx1x101111xxxxxxxxxxxxxx
                                                              umin.  */
-                                                          return 1876;
+                                                          return 1915;
                                                         }
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxxx11111xx1xx1x100100
+                                                         001001x1xx1xx11111xxxxxxxxxxxxxx
                                                          uqsub.  */
-                                                      return 1911;
+                                                      return 1950;
                                                     }
                                                 }
                                             }
@@ -10890,17 +11319,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx1001x100101
+                                                         101001x1001xxxxx110xxxxxxxxxxxxx
                                                          ld2w.  */
-                                                      return 1535;
+                                                      return 1562;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx1011x100101
+                                                         101001x1101xxxxx110xxxxxxxxxxxxx
                                                          ld2d.  */
-                                                      return 1531;
+                                                      return 1558;
                                                     }
                                                 }
                                               else
@@ -10909,17 +11338,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx1101x100101
+                                                         101001x1011xxxxx110xxxxxxxxxxxxx
                                                          ld4w.  */
-                                                      return 1551;
+                                                      return 1578;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx011xxxxx1111x100101
+                                                         101001x1111xxxxx110xxxxxxxxxxxxx
                                                          ld4d.  */
-                                                      return 1547;
+                                                      return 1574;
                                                     }
                                                 }
                                             }
@@ -10931,17 +11360,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx1001x100101
+                                                         101001x1001xxxxx111xxxxxxxxxxxxx
                                                          ld2w.  */
-                                                      return 1536;
+                                                      return 1563;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx1011x100101
+                                                         101001x1101xxxxx111xxxxxxxxxxxxx
                                                          ld2d.  */
-                                                      return 1532;
+                                                      return 1559;
                                                     }
                                                 }
                                               else
@@ -10950,17 +11379,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx1101x100101
+                                                         101001x1011xxxxx111xxxxxxxxxxxxx
                                                          ld4w.  */
-                                                      return 1552;
+                                                      return 1579;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxxx1111x100101
+                                                         101001x1111xxxxx111xxxxxxxxxxxxx
                                                          ld4d.  */
-                                                      return 1548;
+                                                      return 1575;
                                                     }
                                                 }
                                             }
@@ -10971,168 +11400,168 @@ 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 1806;
+                                                 011001x1xx1xxxxx100xxxxxxxxxxxxx
+                                                 fmad.  */
+                                              return 1381;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx1101x10011x
-                                                 st1w.  */
-                                              return 1811;
+                                                 011001x1xx1xxxxx110xxxxxxxxxxxxx
+                                                 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 1371;
+                                                     111001x1001xxxxx1x0xxxxxxxxxxxxx
+                                                     st1w.  */
+                                                  return 1839;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx011xxxxx1x11x100110
-                                                     fnmad.  */
-                                                  return 1392;
+                                                     111001x1101xxxxx1x0xxxxxxxxxxxxx
+                                                     st1d.  */
+                                                  return 1818;
                                                 }
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxxxxx0x1xxxxx1x11x100111
-                                                 st1d.  */
-                                              return 1785;
-                                            }
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 14) & 0x1) == 0)
-                                        {
-                                          if (((word >> 23) & 0x1) == 0)
-                                            {
-                                              if (((word >> 22) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx1001x10011x
-                                                     st1w.  */
-                                                  return 1807;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx1101x10011x
-                                                     st1w.  */
-                                                  return 1814;
-                                                }
+                                                 10987654321098765432109876543210
+                                                 111001x1x11xxxxx1x0xxxxxxxxxxxxx
+                                                 st1w.  */
+                                              return 1844;
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 14) & 0x1) == 0)
+                                        {
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 011001x1xx1xxxxx101xxxxxxxxxxxxx
+                                                 fmsb.  */
+                                              return 1402;
                                             }
                                           else
                                             {
-                                              if (((word >> 31) & 0x1) == 0)
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx1x11x100110
-                                                     fmsb.  */
-                                                  return 1386;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x1001xxxxx101xxxxxxxxxxxxx
+                                                         st1w.  */
+                                                      return 1840;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x1101xxxxx101xxxxxxxxxxxxx
+                                                         st1d.  */
+                                                      return 1819;
+                                                    }
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx101xxxxx1x11x100111
-                                                     st1d.  */
-                                                  return 1786;
+                                                     111001x1x11xxxxx101xxxxxxxxxxxxx
+                                                     st1w.  */
+                                                  return 1847;
                                                 }
                                             }
                                         }
                                       else
                                         {
-                                          if (((word >> 23) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 011001x1xx1xxxxx111xxxxxxxxxxxxx
+                                                 fnmsb.  */
+                                              return 1414;
+                                            }
+                                          else
                                             {
                                               if (((word >> 20) & 0x1) == 0)
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxx01x01x10011x
-                                                     st1w.  */
-                                                  return 1815;
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 22) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx11001x10011x
-                                                         st2w.  */
-                                                      return 1823;
+                                                         111001x10x10xxxx111xxxxxxxxxxxxx
+                                                         st1w.  */
+                                                      return 1848;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx11101x10011x
-                                                         st4w.  */
-                                                      return 1839;
+                                                         111001x11x10xxxx111xxxxxxxxxxxxx
+                                                         st1d.  */
+                                                      return 1822;
                                                     }
                                                 }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 31) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxxxxx111xxxxx1x11x100110
-                                                     fnmsb.  */
-                                                  return 1395;
-                                                }
                                               else
                                                 {
-                                                  if (((word >> 20) & 0x1) == 0)
+                                                  if (((word >> 22) & 0x1) == 0)
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxxxxx111xxxx01x11x100111
-                                                         st1d.  */
-                                                      return 1789;
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             111001x10011xxxx111xxxxxxxxxxxxx
+                                                             st2w.  */
+                                                          return 1856;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             111001x11011xxxx111xxxxxxxxxxxxx
+                                                             st2d.  */
+                                                          return 1852;
+                                                        }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 22) & 0x1) == 0)
+                                                      if (((word >> 23) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx111xxxx11011x100111
-                                                             st2d.  */
-                                                          return 1819;
+                                                             111001x10111xxxx111xxxxxxxxxxxxx
+                                                             st4w.  */
+                                                          return 1872;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxxxxx111xxxx11111x100111
+                                                             111001x11111xxxx111xxxxxxxxxxxxx
                                                              st4d.  */
-                                                          return 1835;
+                                                          return 1868;
                                                         }
                                                     }
                                                 }
@@ -11155,7 +11584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           /* 33222222222211111111110000000000
                              10987654321098765432109876543210
-                             xxxxxxxxxxxxxxxxxxxxxxxxxx101000
+                             000101xxxxxxxxxxxxxxxxxxxxxxxxxx
                              b.  */
                           return 630;
                         }
@@ -11163,7 +11592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           /* 33222222222211111111110000000000
                              10987654321098765432109876543210
-                             xxxxxxxxxxxxxxxxxxxxxxxxxx101001
+                             100101xxxxxxxxxxxxxxxxxxxxxxxxxx
                              bl.  */
                           return 631;
                         }
@@ -11180,7 +11609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxx0xxxxxxxxxxxxxxxxxxx00101010
+                                         01010100xxxxxxxxxxxxxxxxxxx0xxxx
                                          b.c.  */
                                       return 651;
                                     }
@@ -11194,7 +11623,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     00xx0xxxxxxxxxxxxxxxx0xx00101011
+                                                     11010100xx0xxxxxxxxxxxxxxxx0xx00
                                                      hlt.  */
                                                   return 742;
                                                 }
@@ -11202,7 +11631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     00xx0xxxxxxxxxxxxxxxx1xx00101011
+                                                     11010100xx1xxxxxxxxxxxxxxxx0xx00
                                                      brk.  */
                                                   return 741;
                                                 }
@@ -11213,7 +11642,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     01xx0xxxxxxxxxxxxxxxx0xx00101011
+                                                     11010100xx0xxxxxxxxxxxxxxxx0xx10
                                                      hvc.  */
                                                   return 739;
                                                 }
@@ -11221,7 +11650,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     01xx0xxxxxxxxxxxxxxxx1xx00101011
+                                                     11010100xx1xxxxxxxxxxxxxxxx0xx10
                                                      dcps2.  */
                                                   return 744;
                                                 }
@@ -11235,7 +11664,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     10xx0xxxxxxxxxxxxxxxx0xx00101011
+                                                     11010100xx0xxxxxxxxxxxxxxxx0xx01
                                                      svc.  */
                                                   return 738;
                                                 }
@@ -11243,7 +11672,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     10xx0xxxxxxxxxxxxxxxx1xx00101011
+                                                     11010100xx1xxxxxxxxxxxxxxxx0xx01
                                                      dcps1.  */
                                                   return 743;
                                                 }
@@ -11254,7 +11683,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     11xx0xxxxxxxxxxxxxxxx0xx00101011
+                                                     11010100xx0xxxxxxxxxxxxxxxx0xx11
                                                      smc.  */
                                                   return 740;
                                                 }
@@ -11262,7 +11691,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     11xx0xxxxxxxxxxxxxxxx1xx00101011
+                                                     11010100xx1xxxxxxxxxxxxxxxx0xx11
                                                      dcps3.  */
                                                   return 745;
                                                 }
@@ -11280,7 +11709,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxx0xxxxxxxxxxxxxxxx0000110101x
+                                                 x1010110000xxxxxxxxxxxxxxxx0xxxx
                                                  br.  */
                                               return 632;
                                             }
@@ -11288,7 +11717,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxx0xxxxxxxxxxxxxxxx0010110101x
+                                                 x1010110100xxxxxxxxxxxxxxxx0xxxx
                                                  eret.  */
                                               return 635;
                                             }
@@ -11297,7 +11726,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxx0xxxxxxxxxxxxxxxx01x0110101x
+                                             x1010110x10xxxxxxxxxxxxxxxx0xxxx
                                              ret.  */
                                           return 634;
                                         }
@@ -11308,7 +11737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxx0xxxxxxxxxxxxxxxx1x00110101x
+                                             x10101100x1xxxxxxxxxxxxxxxx0xxxx
                                              blr.  */
                                           return 633;
                                         }
@@ -11316,7 +11745,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxx0xxxxxxxxxxxxxxxx1x10110101x
+                                             x10101101x1xxxxxxxxxxxxxxxx0xxxx
                                              drps.  */
                                           return 636;
                                         }
@@ -11335,7 +11764,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxx1xxxxx0xxxxxxxxxx0000x10101x
+                                                 x10101x0000xxxxxxxxxx0xxxxx1xxxx
                                                  braaz.  */
                                               return 641;
                                             }
@@ -11343,7 +11772,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxx1xxxxx0xxxxxxxxxx0010x10101x
+                                                 x10101x0100xxxxxxxxxx0xxxxx1xxxx
                                                  eretaa.  */
                                               return 647;
                                             }
@@ -11352,7 +11781,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxx1xxxxx0xxxxxxxxxx01x0x10101x
+                                             x10101x0x10xxxxxxxxxx0xxxxx1xxxx
                                              retaa.  */
                                           return 645;
                                         }
@@ -11361,7 +11790,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxx1xxxxx0xxxxxxxxxx1xx0x10101x
+                                         x10101x0xx1xxxxxxxxxx0xxxxx1xxxx
                                          blraaz.  */
                                       return 643;
                                     }
@@ -11376,7 +11805,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxx1xxxxx1xxxxxxxxxx0000x10101x
+                                                 x10101x0000xxxxxxxxxx1xxxxx1xxxx
                                                  brabz.  */
                                               return 642;
                                             }
@@ -11384,7 +11813,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxx1xxxxx1xxxxxxxxxx0010x10101x
+                                                 x10101x0100xxxxxxxxxx1xxxxx1xxxx
                                                  eretab.  */
                                               return 648;
                                             }
@@ -11393,7 +11822,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxx1xxxxx1xxxxxxxxxx01x0x10101x
+                                             x10101x0x10xxxxxxxxxx1xxxxx1xxxx
                                              retab.  */
                                           return 646;
                                         }
@@ -11402,7 +11831,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxx1xxxxx1xxxxxxxxxx1xx0x10101x
+                                         x10101x0xx1xxxxxxxxxx1xxxxx1xxxx
                                          blrabz.  */
                                       return 644;
                                     }
@@ -11417,7 +11846,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxx0xx1010101x
+                                     x1010101xx0xxxxxxxxxxxxxxxxxxxxx
                                      msr.  */
                                   return 1157;
                                 }
@@ -11427,7 +11856,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx0xxxxxxxxxx0xx1110101x
+                                         x1010111xx0xxxxxxxxxx0xxxxxxxxxx
                                          braa.  */
                                       return 637;
                                     }
@@ -11435,7 +11864,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx1xxxxxxxxxx0xx1110101x
+                                         x1010111xx0xxxxxxxxxx1xxxxxxxxxx
                                          brab.  */
                                       return 638;
                                     }
@@ -11447,7 +11876,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxx1xx1010101x
+                                     x1010101xx1xxxxxxxxxxxxxxxxxxxxx
                                      sysl.  */
                                   return 1182;
                                 }
@@ -11457,7 +11886,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx0xxxxxxxxxx1xx1110101x
+                                         x1010111xx1xxxxxxxxxx0xxxxxxxxxx
                                          blraa.  */
                                       return 639;
                                     }
@@ -11465,7 +11894,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx1xxxxxxxxxx1xx1110101x
+                                         x1010111xx1xxxxxxxxxx1xxxxxxxxxx
                                          blrab.  */
                                       return 640;
                                     }
@@ -11482,7 +11911,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           /* 33222222222211111111110000000000
                              10987654321098765432109876543210
-                             xxxxxxxxxxxxxxxxxxxxxxxx001011xx
+                             xx110100xxxxxxxxxxxxxxxxxxxxxxxx
                              cbz.  */
                           return 649;
                         }
@@ -11490,7 +11919,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           /* 33222222222211111111110000000000
                              10987654321098765432109876543210
-                             xxxxxxxxxxxxxxxxxxxxxxxx011011xx
+                             xx110110xxxxxxxxxxxxxxxxxxxxxxxx
                              tbz.  */
                           return 1192;
                         }
@@ -11501,7 +11930,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           /* 33222222222211111111110000000000
                              10987654321098765432109876543210
-                             xxxxxxxxxxxxxxxxxxxxxxxx101011xx
+                             xx110101xxxxxxxxxxxxxxxxxxxxxxxx
                              cbnz.  */
                           return 650;
                         }
@@ -11509,7 +11938,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           /* 33222222222211111111110000000000
                              10987654321098765432109876543210
-                             xxxxxxxxxxxxxxxxxxxxxxxx111011xx
+                             xx110111xxxxxxxxxxxxxxxxxxxxxxxx
                              tbnz.  */
                           return 1193;
                         }
@@ -11533,7 +11962,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxx00001100xx
+                                     xx00110000xxxxxxxxxxxxxxxxxxxxxx
                                      st4.  */
                                   return 434;
                                 }
@@ -11541,7 +11970,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxx00001101xx
+                                     xx10110000xxxxxxxxxxxxxxxxxxxxxx
                                      stnp.  */
                                   return 943;
                                 }
@@ -11556,7 +11985,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx0xxxxxxx000101100xx
+                                             xx001101000xxxxxxx0xxxxxxxxxxxxx
                                              st1.  */
                                           return 450;
                                         }
@@ -11564,7 +11993,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx0xxxxxxx100101100xx
+                                             xx001101001xxxxxxx0xxxxxxxxxxxxx
                                              st2.  */
                                           return 452;
                                         }
@@ -11575,7 +12004,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx1xxxxxxx000101100xx
+                                             xx001101000xxxxxxx1xxxxxxxxxxxxx
                                              st3.  */
                                           return 451;
                                         }
@@ -11583,7 +12012,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx1xxxxxxx100101100xx
+                                             xx001101001xxxxxxx1xxxxxxxxxxxxx
                                              st4.  */
                                           return 453;
                                         }
@@ -11593,7 +12022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxx00101101xx
+                                     xx10110100xxxxxxxxxxxxxxxxxxxxxx
                                      stp.  */
                                   return 947;
                                 }
@@ -11609,7 +12038,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxxxxxxxx001001100xx
+                                         xx001100100xxxxxxxxxxxxxxxxxxxxx
                                          st4.  */
                                       return 442;
                                     }
@@ -11619,7 +12048,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx0xxxxxxx001101100xx
+                                             xx001101100xxxxxxx0xxxxxxxxxxxxx
                                              st1.  */
                                           return 462;
                                         }
@@ -11627,7 +12056,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx1xxxxxxx001101100xx
+                                             xx001101100xxxxxxx1xxxxxxxxxxxxx
                                              st3.  */
                                           return 463;
                                         }
@@ -11639,7 +12068,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxx0xxxxxxx101x01100xx
+                                         xx00110x101xxxxxxx0xxxxxxxxxxxxx
                                          st2.  */
                                       return 464;
                                     }
@@ -11647,7 +12076,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxx1xxxxxxx101x01100xx
+                                         xx00110x101xxxxxxx1xxxxxxxxxxxxx
                                          st4.  */
                                       return 465;
                                     }
@@ -11657,7 +12086,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxxx01x01101xx
+                                 xx10110x10xxxxxxxxxxxxxxxxxxxxxx
                                  stp.  */
                               return 952;
                             }
@@ -11673,7 +12102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxx10001100xx
+                                     xx00110001xxxxxxxxxxxxxxxxxxxxxx
                                      ld4.  */
                                   return 438;
                                 }
@@ -11681,7 +12110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxx10001101xx
+                                     xx10110001xxxxxxxxxxxxxxxxxxxxxx
                                      ldnp.  */
                                   return 944;
                                 }
@@ -11696,7 +12125,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx0xxxxxxx010101100xx
+                                             xx001101010xxxxxxx0xxxxxxxxxxxxx
                                              ld1.  */
                                           return 454;
                                         }
@@ -11704,7 +12133,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx0xxxxxxx110101100xx
+                                             xx001101011xxxxxxx0xxxxxxxxxxxxx
                                              ld2.  */
                                           return 458;
                                         }
@@ -11715,7 +12144,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx1xxxxxxx010101100xx
+                                             xx001101010xxxxxxx1xxxxxxxxxxxxx
                                              ld3.  */
                                           return 455;
                                         }
@@ -11723,7 +12152,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx1xxxxxxx110101100xx
+                                             xx001101011xxxxxxx1xxxxxxxxxxxxx
                                              ld4.  */
                                           return 459;
                                         }
@@ -11733,7 +12162,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxxxxxxxxxxxxxx10101101xx
+                                     xx10110101xxxxxxxxxxxxxxxxxxxxxx
                                      ldp.  */
                                   return 948;
                                 }
@@ -11749,7 +12178,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxxxxxxxx011001100xx
+                                         xx001100110xxxxxxxxxxxxxxxxxxxxx
                                          ld4.  */
                                       return 446;
                                     }
@@ -11759,7 +12188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx0xxxxxxx011101100xx
+                                             xx001101110xxxxxxx0xxxxxxxxxxxxx
                                              ld1.  */
                                           return 466;
                                         }
@@ -11767,7 +12196,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxx1xxxxxxx011101100xx
+                                             xx001101110xxxxxxx1xxxxxxxxxxxxx
                                              ld3.  */
                                           return 467;
                                         }
@@ -11779,7 +12208,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxx0xxxxxxx111x01100xx
+                                         xx00110x111xxxxxxx0xxxxxxxxxxxxx
                                          ld2.  */
                                       return 470;
                                     }
@@ -11787,7 +12216,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxx1xxxxxxx111x01100xx
+                                         xx00110x111xxxxxxx1xxxxxxxxxxxxx
                                          ld4.  */
                                       return 471;
                                     }
@@ -11797,7 +12226,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                             {
                               /* 33222222222211111111110000000000
                                  10987654321098765432109876543210
-                                 xxxxxxxxxxxxxxxxxxxxxx11x01101xx
+                                 xx10110x11xxxxxxxxxxxxxxxxxxxxxx
                                  ldp.  */
                               return 953;
                             }
@@ -11812,7 +12241,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           /* 33222222222211111111110000000000
                              10987654321098765432109876543210
-                             xxxxxxxxxxxxxxxxxxxxxxxx001110xx
+                             xx011100xxxxxxxxxxxxxxxxxxxxxxxx
                              ldr.  */
                           return 956;
                         }
@@ -11826,7 +12255,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx00xxxxxxxxxx0x001111xx
+                                         xx111100x0xxxxxxxxxx00xxxxxxxxxx
                                          stur.  */
                                       return 899;
                                     }
@@ -11834,7 +12263,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx00xxxxxxxxxx1x001111xx
+                                         xx111100x1xxxxxxxxxx00xxxxxxxxxx
                                          ldur.  */
                                       return 900;
                                     }
@@ -11845,7 +12274,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx01xxxxxxxxxx0x001111xx
+                                         xx111100x0xxxxxxxxxx10xxxxxxxxxx
                                          str.  */
                                       return 878;
                                     }
@@ -11853,7 +12282,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx01xxxxxxxxxx1x001111xx
+                                         xx111100x1xxxxxxxxxx10xxxxxxxxxx
                                          ldr.  */
                                       return 879;
                                     }
@@ -11865,7 +12294,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxx1xxxxxxxxxxx0x001111xx
+                                     xx111100x0xxxxxxxxxxx1xxxxxxxxxx
                                      str.  */
                                   return 855;
                                 }
@@ -11873,7 +12302,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxx1xxxxxxxxxxx1x001111xx
+                                     xx111100x1xxxxxxxxxxx1xxxxxxxxxx
                                      ldr.  */
                                   return 856;
                                 }
@@ -11886,7 +12315,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           /* 33222222222211111111110000000000
                              10987654321098765432109876543210
-                             xxxxxxxxxxxxxxxxxxxxxx0x10111xxx
+                             xxx11101x0xxxxxxxxxxxxxxxxxxxxxx
                              str.  */
                           return 866;
                         }
@@ -11894,7 +12323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                         {
                           /* 33222222222211111111110000000000
                              10987654321098765432109876543210
-                             xxxxxxxxxxxxxxxxxxxxxx1x10111xxx
+                             xxx11101x1xxxxxxxxxxxxxxxxxxxxxx
                              ldr.  */
                           return 867;
                         }
@@ -11919,7 +12348,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx000xxxxxxxx0xx011100xx
+                                             xx001110xx0xxxxxxxx000xxxxxxxxxx
                                              tbl.  */
                                           return 414;
                                         }
@@ -11927,7 +12356,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx001xxxxxxxx0xx011100xx
+                                             xx001110xx0xxxxxxxx100xxxxxxxxxx
                                              tbx.  */
                                           return 415;
                                         }
@@ -11940,7 +12369,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx010x0xxxxxx0xx011100xx
+                                                 xx001110xx0xxxxxx0x010xxxxxxxxxx
                                                  trn1.  */
                                               return 257;
                                             }
@@ -11948,7 +12377,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx010x1xxxxxx0xx011100xx
+                                                 xx001110xx0xxxxxx1x010xxxxxxxxxx
                                                  trn2.  */
                                               return 260;
                                             }
@@ -11961,7 +12390,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01100xxxxxx0xx011100xx
+                                                     xx001110xx0xxxxxx00110xxxxxxxxxx
                                                      uzp1.  */
                                                   return 256;
                                                 }
@@ -11969,7 +12398,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01101xxxxxx0xx011100xx
+                                                     xx001110xx0xxxxxx10110xxxxxxxxxx
                                                      uzp2.  */
                                                   return 259;
                                                 }
@@ -11980,7 +12409,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01110xxxxxx0xx011100xx
+                                                     xx001110xx0xxxxxx01110xxxxxxxxxx
                                                      zip1.  */
                                                   return 258;
                                                 }
@@ -11988,7 +12417,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx01111xxxxxx0xx011100xx
+                                                     xx001110xx0xxxxxx11110xxxxxxxxxx
                                                      zip2.  */
                                                   return 261;
                                                 }
@@ -12000,7 +12429,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   /* 33222222222211111111110000000000
                                      10987654321098765432109876543210
-                                     xxxxxxxxxx0xxxxxxxxxx0xx011101xx
+                                     xx101110xx0xxxxxxxxxx0xxxxxxxxxx
                                      ext.  */
                                   return 130;
                                 }
@@ -12017,7 +12446,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx10xxx0xxxxx00x011100xx
+                                                 xx001110x00xxxxx0xxx01xxxxxxxxxx
                                                  dup.  */
                                               return 147;
                                             }
@@ -12029,7 +12458,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1100x0xxxxx00x011100xx
+                                                         xx001110x00xxxxx0x0011xxxxxxxxxx
                                                          dup.  */
                                                       return 148;
                                                     }
@@ -12037,7 +12466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1101x0xxxxx00x011100xx
+                                                         xx001110x00xxxxx0x1011xxxxxxxxxx
                                                          smov.  */
                                                       return 149;
                                                     }
@@ -12048,7 +12477,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1110x0xxxxx00x011100xx
+                                                         xx001110x00xxxxx0x0111xxxxxxxxxx
                                                          ins.  */
                                                       return 152;
                                                     }
@@ -12056,7 +12485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1111x0xxxxx00x011100xx
+                                                         xx001110x00xxxxx0x1111xxxxxxxxxx
                                                          umov.  */
                                                       return 150;
                                                     }
@@ -12067,7 +12496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx1xxxx0xxxxx00x011101xx
+                                             xx101110x00xxxxx0xxxx1xxxxxxxxxx
                                              ins.  */
                                           return 154;
                                         }
@@ -12086,7 +12515,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1000x0xxxxx010011100xx
+                                                             xx001110010xxxxx0x0001xxxxxxxxxx
                                                              fmaxnm.  */
                                                           return 286;
                                                         }
@@ -12094,7 +12523,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1000x0xxxxx010011101xx
+                                                             xx101110010xxxxx0x0001xxxxxxxxxx
                                                              fmaxnmp.  */
                                                           return 337;
                                                         }
@@ -12105,7 +12534,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1000x0xxxxx011011100xx
+                                                             xx001110110xxxxx0x0001xxxxxxxxxx
                                                              fminnm.  */
                                                           return 302;
                                                         }
@@ -12113,7 +12542,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1000x0xxxxx011011101xx
+                                                             xx101110110xxxxx0x0001xxxxxxxxxx
                                                              fminnmp.  */
                                                           return 353;
                                                         }
@@ -12127,7 +12556,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1001x0xxxxx010011100xx
+                                                             xx001110010xxxxx0x1001xxxxxxxxxx
                                                              fcmeq.  */
                                                           return 294;
                                                         }
@@ -12135,7 +12564,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1001x0xxxxx010011101xx
+                                                             xx101110010xxxxx0x1001xxxxxxxxxx
                                                              fcmge.  */
                                                           return 343;
                                                         }
@@ -12144,7 +12573,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1001x0xxxxx01101110xxx
+                                                         xxx01110110xxxxx0x1001xxxxxxxxxx
                                                          fcmgt.  */
                                                       return 357;
                                                     }
@@ -12160,7 +12589,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1010x0xxxxx010011100xx
+                                                             xx001110010xxxxx0x0101xxxxxxxxxx
                                                              fadd.  */
                                                           return 290;
                                                         }
@@ -12168,7 +12597,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1010x0xxxxx010011101xx
+                                                             xx101110010xxxxx0x0101xxxxxxxxxx
                                                              faddp.  */
                                                           return 339;
                                                         }
@@ -12179,7 +12608,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1010x0xxxxx011011100xx
+                                                             xx001110110xxxxx0x0101xxxxxxxxxx
                                                              fsub.  */
                                                           return 306;
                                                         }
@@ -12187,7 +12616,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1010x0xxxxx011011101xx
+                                                             xx101110110xxxxx0x0101xxxxxxxxxx
                                                              fabd.  */
                                                           return 355;
                                                         }
@@ -12201,7 +12630,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1011x0xxxxx010011100xx
+                                                             xx001110010xxxxx0x1101xxxxxxxxxx
                                                              fmax.  */
                                                           return 296;
                                                         }
@@ -12209,7 +12638,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1011x0xxxxx010011101xx
+                                                             xx101110010xxxxx0x1101xxxxxxxxxx
                                                              fmaxp.  */
                                                           return 347;
                                                         }
@@ -12220,7 +12649,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1011x0xxxxx011011100xx
+                                                             xx001110110xxxxx0x1101xxxxxxxxxx
                                                              fmin.  */
                                                           return 308;
                                                         }
@@ -12228,7 +12657,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1011x0xxxxx011011101xx
+                                                             xx101110110xxxxx0x1101xxxxxxxxxx
                                                              fminp.  */
                                                           return 361;
                                                         }
@@ -12246,7 +12675,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1100x0xxxxx01001110xxx
+                                                         xxx01110010xxxxx0x0011xxxxxxxxxx
                                                          fmla.  */
                                                       return 288;
                                                     }
@@ -12254,7 +12683,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1100x0xxxxx01101110xxx
+                                                         xxx01110110xxxxx0x0011xxxxxxxxxx
                                                          fmls.  */
                                                       return 304;
                                                     }
@@ -12265,7 +12694,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1101x0xxxxx01001110xxx
+                                                         xxx01110010xxxxx0x1011xxxxxxxxxx
                                                          facge.  */
                                                       return 345;
                                                     }
@@ -12273,7 +12702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1101x0xxxxx01101110xxx
+                                                         xxx01110110xxxxx0x1011xxxxxxxxxx
                                                          facgt.  */
                                                       return 359;
                                                     }
@@ -12287,7 +12716,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1110x0xxxxx01x011100xx
+                                                         xx001110x10xxxxx0x0111xxxxxxxxxx
                                                          fmulx.  */
                                                       return 292;
                                                     }
@@ -12295,7 +12724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1110x0xxxxx01x011101xx
+                                                         xx101110x10xxxxx0x0111xxxxxxxxxx
                                                          fmul.  */
                                                       return 341;
                                                     }
@@ -12308,7 +12737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1111x0xxxxx010011100xx
+                                                             xx001110010xxxxx0x1111xxxxxxxxxx
                                                              frecps.  */
                                                           return 298;
                                                         }
@@ -12316,7 +12745,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx1111x0xxxxx010011101xx
+                                                             xx101110010xxxxx0x1111xxxxxxxxxx
                                                              fdiv.  */
                                                           return 349;
                                                         }
@@ -12325,7 +12754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1111x0xxxxx01101110xxx
+                                                         xxx01110110xxxxx0x1111xxxxxxxxxx
                                                          frsqrts.  */
                                                       return 310;
                                                     }
@@ -12342,17 +12771,39 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           if (((word >> 11) & 0x1) == 0)
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx10x001xxxxx0xx01110xxx
-                                                 sqrdmlah.  */
-                                              return 364;
+                                              if (((word >> 12) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxx01110xx0xxxxx100001xxxxxxxxxx
+                                                     sqrdmlah.  */
+                                                  return 364;
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 29) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xx001110xx0xxxxx100101xxxxxxxxxx
+                                                         sdot.  */
+                                                      return 1987;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xx101110xx0xxxxx100101xxxxxxxxxx
+                                                         udot.  */
+                                                      return 1986;
+                                                    }
+                                                }
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx11x001xxxxx0xx01110xxx
+                                                 xxx01110xx0xxxxx100x11xxxxxxxxxx
                                                  sqrdmlsh.  */
                                               return 365;
                                             }
@@ -12361,7 +12812,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx1xx011xxxxx0xx01110xxx
+                                             xxx01110xx0xxxxx110xx1xxxxxxxxxx
                                              fcmla.  */
                                           return 366;
                                         }
@@ -12370,7 +12821,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx1xx1x1xxxxx0xx01110xxx
+                                         xxx01110xx0xxxxx1x1xx1xxxxxxxxxx
                                          fcadd.  */
                                       return 367;
                                     }
@@ -12389,7 +12840,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxxx00xxx0xx0111100x
+                                             x0011110xx0xxx00xxxxxxxxxxxxxxxx
                                              fcvtzs.  */
                                           return 752;
                                         }
@@ -12397,7 +12848,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxxx01xxx0xx0111100x
+                                             x0011110xx0xxx10xxxxxxxxxxxxxxxx
                                              scvtf.  */
                                           return 748;
                                         }
@@ -12408,7 +12859,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxxx10xxx0xx0111100x
+                                             x0011110xx0xxx01xxxxxxxxxxxxxxxx
                                              fcvtzu.  */
                                           return 754;
                                         }
@@ -12416,7 +12867,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxxx11xxx0xx0111100x
+                                             x0011110xx0xxx11xxxxxxxxxxxxxxxx
                                              ucvtf.  */
                                           return 750;
                                         }
@@ -12434,7 +12885,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x000xxxxxx0xx0111101x
+                                                     x1011110xx0xxxxxx000x0xxxxxxxxxx
                                                      sha1c.  */
                                                   return 672;
                                                 }
@@ -12442,7 +12893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x001xxxxxx0xx0111101x
+                                                     x1011110xx0xxxxxx100x0xxxxxxxxxx
                                                      sha256h.  */
                                                   return 676;
                                                 }
@@ -12453,7 +12904,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x010xxxxxx0xx0111101x
+                                                     x1011110xx0xxxxxx010x0xxxxxxxxxx
                                                      sha1m.  */
                                                   return 674;
                                                 }
@@ -12461,7 +12912,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x011xxxxxx0xx0111101x
+                                                     x1011110xx0xxxxxx110x0xxxxxxxxxx
                                                      sha256su1.  */
                                                   return 678;
                                                 }
@@ -12475,7 +12926,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x100xxxxxx0xx0111101x
+                                                     x1011110xx0xxxxxx001x0xxxxxxxxxx
                                                      sha1p.  */
                                                   return 673;
                                                 }
@@ -12483,7 +12934,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x101xxxxxx0xx0111101x
+                                                     x1011110xx0xxxxxx101x0xxxxxxxxxx
                                                      sha256h2.  */
                                                   return 677;
                                                 }
@@ -12492,7 +12943,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx0x11xxxxxxx0xx0111101x
+                                                 x1011110xx0xxxxxxx11x0xxxxxxxxxx
                                                  sha1su0.  */
                                               return 675;
                                             }
@@ -12506,7 +12957,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx10x0xxxxxxx0xx0111101x
+                                                 x1011110xx0xxxxxxx0x01xxxxxxxxxx
                                                  dup.  */
                                               return 529;
                                             }
@@ -12514,7 +12965,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx10x1xxxxxxx0xx0111101x
+                                                 x1011110xx0xxxxxxx1x01xxxxxxxxxx
                                                  fcmeq.  */
                                               return 550;
                                             }
@@ -12525,7 +12976,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx11x0xxxxxxx0xx0111101x
+                                                 x1011110xx0xxxxxxx0x11xxxxxxxxxx
                                                  fmulx.  */
                                               return 548;
                                             }
@@ -12535,7 +12986,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx11x1xxxxxxx0x00111101x
+                                                     x10111100x0xxxxxxx1x11xxxxxxxxxx
                                                      frecps.  */
                                                   return 552;
                                                 }
@@ -12543,7 +12994,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx11x1xxxxxxx0x10111101x
+                                                     x10111101x0xxxxxxx1x11xxxxxxxxxx
                                                      frsqrts.  */
                                                   return 554;
                                                 }
@@ -12562,7 +13013,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxx000xxxxxxx0xx011111xx
+                                             xx111110xx0xxxxxxx000xxxxxxxxxxx
                                              sqrdmlah.  */
                                           return 582;
                                         }
@@ -12572,7 +13023,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxx001xxxxxxx0x0011111xx
+                                                 xx1111100x0xxxxxxx100xxxxxxxxxxx
                                                  fcmge.  */
                                               return 567;
                                             }
@@ -12580,7 +13031,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxxx001xxxxxxx0x1011111xx
+                                                 xx1111101x0xxxxxxx100xxxxxxxxxxx
                                                  fcmgt.  */
                                               return 573;
                                             }
@@ -12590,7 +13041,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxx01xxxxxxxx0xx011111xx
+                                         xx111110xx0xxxxxxxx10xxxxxxxxxxx
                                          fabd.  */
                                       return 571;
                                     }
@@ -12601,7 +13052,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxx1x0xxxxxxx0xx011111xx
+                                         xx111110xx0xxxxxxx0x1xxxxxxxxxxx
                                          sqrdmlsh.  */
                                       return 583;
                                     }
@@ -12611,7 +13062,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxx1x1xxxxxxx0x0011111xx
+                                             xx1111100x0xxxxxxx1x1xxxxxxxxxxx
                                              facge.  */
                                           return 569;
                                         }
@@ -12619,7 +13070,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxx1x1xxxxxxx0x1011111xx
+                                             xx1111101x0xxxxxxx1x1xxxxxxxxxxx
                                              facgt.  */
                                           return 575;
                                         }
@@ -12650,7 +13101,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000000xxxxx1xx0111000x
+                                                             x0001110xx1xxxxx000000xxxxxxxxxx
                                                              saddl.  */
                                                           return 42;
                                                         }
@@ -12658,7 +13109,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000000xxxxx1xx0111001x
+                                                             x1001110xx1xxxxx000000xxxxxxxxxx
                                                              saddl2.  */
                                                           return 43;
                                                         }
@@ -12669,7 +13120,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000000xxxxx1xx0111010x
+                                                             x0101110xx1xxxxx000000xxxxxxxxxx
                                                              uaddl.  */
                                                           return 74;
                                                         }
@@ -12677,7 +13128,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000000xxxxx1xx0111011x
+                                                             x1101110xx1xxxxx000000xxxxxxxxxx
                                                              uaddl2.  */
                                                           return 75;
                                                         }
@@ -12697,7 +13148,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000000001xx01111xxx
+                                                                         xxx11110xx100000000000xxxxxxxxxx
                                                                          fcvtns.  */
                                                                       return 756;
                                                                     }
@@ -12705,7 +13156,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000000011xx01111xxx
+                                                                         xxx11110xx110000000000xxxxxxxxxx
                                                                          fcvtms.  */
                                                                       return 776;
                                                                     }
@@ -12716,7 +13167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000000101xx01111xxx
+                                                                         xxx11110xx101000000000xxxxxxxxxx
                                                                          fcvtps.  */
                                                                       return 772;
                                                                     }
@@ -12724,7 +13175,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000000111xx01111xxx
+                                                                         xxx11110xx111000000000xxxxxxxxxx
                                                                          fcvtzs.  */
                                                                       return 780;
                                                                     }
@@ -12734,7 +13185,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000000001xx1xx01111xxx
+                                                                 xxx11110xx1xx100000000xxxxxxxxxx
                                                                  fcvtas.  */
                                                               return 764;
                                                             }
@@ -12745,7 +13196,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000000010xx1xx01111xxx
+                                                                 xxx11110xx1xx010000000xxxxxxxxxx
                                                                  scvtf.  */
                                                               return 760;
                                                             }
@@ -12755,7 +13206,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0000000110x1xx01111xxx
+                                                                     xxx11110xx1x0110000000xxxxxxxxxx
                                                                      fmov.  */
                                                                   return 768;
                                                                 }
@@ -12765,7 +13216,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000011101xx01111xxx
+                                                                         xxx11110xx101110000000xxxxxxxxxx
                                                                          fmov.  */
                                                                       return 784;
                                                                     }
@@ -12773,7 +13224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000011111xx01111xxx
+                                                                         xxx11110xx111110000000xxxxxxxxxx
                                                                          fjcvtzs.  */
                                                                       return 786;
                                                                     }
@@ -12793,7 +13244,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000100001xx01111xxx
+                                                                         xxx11110xx100001000000xxxxxxxxxx
                                                                          fcvtnu.  */
                                                                       return 758;
                                                                     }
@@ -12801,7 +13252,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000100011xx01111xxx
+                                                                         xxx11110xx110001000000xxxxxxxxxx
                                                                          fcvtmu.  */
                                                                       return 778;
                                                                     }
@@ -12812,7 +13263,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000100101xx01111xxx
+                                                                         xxx11110xx101001000000xxxxxxxxxx
                                                                          fcvtpu.  */
                                                                       return 774;
                                                                     }
@@ -12820,7 +13271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000100111xx01111xxx
+                                                                         xxx11110xx111001000000xxxxxxxxxx
                                                                          fcvtzu.  */
                                                                       return 782;
                                                                     }
@@ -12830,7 +13281,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000000101xx1xx01111xxx
+                                                                 xxx11110xx1xx101000000xxxxxxxxxx
                                                                  fcvtau.  */
                                                               return 766;
                                                             }
@@ -12841,7 +13292,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000000110xx1xx01111xxx
+                                                                 xxx11110xx1xx011000000xxxxxxxxxx
                                                                  ucvtf.  */
                                                               return 762;
                                                             }
@@ -12851,7 +13302,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0000001110x1xx01111xxx
+                                                                     xxx11110xx1x0111000000xxxxxxxxxx
                                                                      fmov.  */
                                                                   return 770;
                                                                 }
@@ -12859,7 +13310,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0000001111x1xx01111xxx
+                                                                     xxx11110xx1x1111000000xxxxxxxxxx
                                                                      fmov.  */
                                                                   return 785;
                                                                 }
@@ -12876,7 +13327,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx000001xxxxx1xx0111x00x
+                                                         x00x1110xx1xxxxx100000xxxxxxxxxx
                                                          smlal.  */
                                                       return 58;
                                                     }
@@ -12884,7 +13335,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx000001xxxxx1xx0111x01x
+                                                         x10x1110xx1xxxxx100000xxxxxxxxxx
                                                          smlal2.  */
                                                       return 59;
                                                     }
@@ -12895,7 +13346,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx000001xxxxx1xx0111x10x
+                                                         x01x1110xx1xxxxx100000xxxxxxxxxx
                                                          umlal.  */
                                                       return 90;
                                                     }
@@ -12903,7 +13354,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx000001xxxxx1xx0111x11x
+                                                         x11x1110xx1xxxxx100000xxxxxxxxxx
                                                          umlal2.  */
                                                       return 91;
                                                     }
@@ -12922,7 +13373,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000010xxxxx1xx0111000x
+                                                             x0001110xx1xxxxx010000xxxxxxxxxx
                                                              addhn.  */
                                                           return 50;
                                                         }
@@ -12930,7 +13381,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000010xxxxx1xx0111001x
+                                                             x1001110xx1xxxxx010000xxxxxxxxxx
                                                              addhn2.  */
                                                           return 51;
                                                         }
@@ -12941,7 +13392,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000010xxxxx1xx0111010x
+                                                             x0101110xx1xxxxx010000xxxxxxxxxx
                                                              raddhn.  */
                                                           return 82;
                                                         }
@@ -12949,7 +13400,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000010xxxxx1xx0111011x
+                                                             x1101110xx1xxxxx010000xxxxxxxxxx
                                                              raddhn2.  */
                                                           return 83;
                                                         }
@@ -12963,7 +13414,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000011xxxxx1xx0111000x
+                                                             x0001110xx1xxxxx110000xxxxxxxxxx
                                                              smull.  */
                                                           return 66;
                                                         }
@@ -12971,7 +13422,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000011xxxxx1xx0111001x
+                                                             x1001110xx1xxxxx110000xxxxxxxxxx
                                                              smull2.  */
                                                           return 67;
                                                         }
@@ -12982,7 +13433,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000011xxxxx1xx0111010x
+                                                             x0101110xx1xxxxx110000xxxxxxxxxx
                                                              umull.  */
                                                           return 94;
                                                         }
@@ -12990,7 +13441,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000011xxxxx1xx0111011x
+                                                             x1101110xx1xxxxx110000xxxxxxxxxx
                                                              umull2.  */
                                                           return 95;
                                                         }
@@ -13009,7 +13460,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000010000xx1xx01111xxx
+                                                                 xxx11110xx1xx000010000xxxxxxxxxx
                                                                  fmov.  */
                                                               return 799;
                                                             }
@@ -13017,7 +13468,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000010001xx1xx01111xxx
+                                                                 xxx11110xx1xx100010000xxxxxxxxxx
                                                                  frintn.  */
                                                               return 808;
                                                             }
@@ -13028,7 +13479,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000010100xx1xx01111xxx
+                                                                 xxx11110xx1xx001010000xxxxxxxxxx
                                                                  fneg.  */
                                                               return 803;
                                                             }
@@ -13036,7 +13487,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000010101xx1xx01111xxx
+                                                                 xxx11110xx1xx101010000xxxxxxxxxx
                                                                  frintm.  */
                                                               return 812;
                                                             }
@@ -13050,7 +13501,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000011000xx1xx01111xxx
+                                                                 xxx11110xx1xx000110000xxxxxxxxxx
                                                                  fabs.  */
                                                               return 801;
                                                             }
@@ -13058,7 +13509,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000011001xx1xx01111xxx
+                                                                 xxx11110xx1xx100110000xxxxxxxxxx
                                                                  frintp.  */
                                                               return 810;
                                                             }
@@ -13069,7 +13520,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000011100xx1xx01111xxx
+                                                                 xxx11110xx1xx001110000xxxxxxxxxx
                                                                  fsqrt.  */
                                                               return 805;
                                                             }
@@ -13077,7 +13528,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000011101xx1xx01111xxx
+                                                                 xxx11110xx1xx101110000xxxxxxxxxx
                                                                  frintz.  */
                                                               return 814;
                                                             }
@@ -13090,7 +13541,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx00001xx10xx1xx01111xxx
+                                                         xxx11110xx1xx01xx10000xxxxxxxxxx
                                                          fcvt.  */
                                                       return 807;
                                                     }
@@ -13102,7 +13553,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000010011xx1xx01111xxx
+                                                                 xxx11110xx1xx110010000xxxxxxxxxx
                                                                  frinta.  */
                                                               return 816;
                                                             }
@@ -13110,7 +13561,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx000010111xx1xx01111xxx
+                                                                 xxx11110xx1xx111010000xxxxxxxxxx
                                                                  frintx.  */
                                                               return 818;
                                                             }
@@ -13119,7 +13570,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000011x11xx1xx01111xxx
+                                                             xxx11110xx1xx11x110000xxxxxxxxxx
                                                              frinti.  */
                                                           return 820;
                                                         }
@@ -13142,7 +13593,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000100xxxxx1xx0111000x
+                                                             x0001110xx1xxxxx001000xxxxxxxxxx
                                                              ssubl.  */
                                                           return 46;
                                                         }
@@ -13150,7 +13601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000100xxxxx1xx0111001x
+                                                             x1001110xx1xxxxx001000xxxxxxxxxx
                                                              ssubl2.  */
                                                           return 47;
                                                         }
@@ -13161,7 +13612,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000100xxxxx1xx0111010x
+                                                             x0101110xx1xxxxx001000xxxxxxxxxx
                                                              usubl.  */
                                                           return 78;
                                                         }
@@ -13169,7 +13620,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000100xxxxx1xx0111011x
+                                                             x1101110xx1xxxxx001000xxxxxxxxxx
                                                              usubl2.  */
                                                           return 79;
                                                         }
@@ -13183,7 +13634,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxx00xxxxx000100xxxxx1xx01111xxx
+                                                             xxx11110xx1xxxxx001000xxxxx00xxx
                                                              fcmp.  */
                                                           return 791;
                                                         }
@@ -13191,7 +13642,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxx01xxxxx000100xxxxx1xx01111xxx
+                                                             xxx11110xx1xxxxx001000xxxxx10xxx
                                                              fcmpe.  */
                                                           return 793;
                                                         }
@@ -13202,7 +13653,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxx10xxxxx000100xxxxx1xx01111xxx
+                                                             xxx11110xx1xxxxx001000xxxxx01xxx
                                                              fcmp.  */
                                                           return 795;
                                                         }
@@ -13210,7 +13661,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxx11xxxxx000100xxxxx1xx01111xxx
+                                                             xxx11110xx1xxxxx001000xxxxx11xxx
                                                              fcmpe.  */
                                                           return 797;
                                                         }
@@ -13225,7 +13676,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx000101xxxxx1xx0111x00x
+                                                         x00x1110xx1xxxxx101000xxxxxxxxxx
                                                          smlsl.  */
                                                       return 62;
                                                     }
@@ -13233,7 +13684,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx000101xxxxx1xx0111x01x
+                                                         x10x1110xx1xxxxx101000xxxxxxxxxx
                                                          smlsl2.  */
                                                       return 63;
                                                     }
@@ -13244,7 +13695,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx000101xxxxx1xx0111x10x
+                                                         x01x1110xx1xxxxx101000xxxxxxxxxx
                                                          umlsl.  */
                                                       return 92;
                                                     }
@@ -13252,7 +13703,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx000101xxxxx1xx0111x11x
+                                                         x11x1110xx1xxxxx101000xxxxxxxxxx
                                                          umlsl2.  */
                                                       return 93;
                                                     }
@@ -13269,7 +13720,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx000110xxxxx1xx0111x00x
+                                                         x00x1110xx1xxxxx011000xxxxxxxxxx
                                                          subhn.  */
                                                       return 54;
                                                     }
@@ -13277,7 +13728,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx000110xxxxx1xx0111x01x
+                                                         x10x1110xx1xxxxx011000xxxxxxxxxx
                                                          subhn2.  */
                                                       return 55;
                                                     }
@@ -13288,7 +13739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx000110xxxxx1xx0111x10x
+                                                         x01x1110xx1xxxxx011000xxxxxxxxxx
                                                          rsubhn.  */
                                                       return 86;
                                                     }
@@ -13296,7 +13747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx000110xxxxx1xx0111x11x
+                                                         x11x1110xx1xxxxx011000xxxxxxxxxx
                                                          rsubhn2.  */
                                                       return 87;
                                                     }
@@ -13310,7 +13761,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx000111xxxxx10x0111xx0x
+                                                         x0xx1110x01xxxxx111000xxxxxxxxxx
                                                          pmull.  */
                                                       return 70;
                                                     }
@@ -13318,7 +13769,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx000111xxxxx10x0111xx1x
+                                                         x1xx1110x01xxxxx111000xxxxxxxxxx
                                                          pmull2.  */
                                                       return 72;
                                                     }
@@ -13329,7 +13780,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx000111xxxxx11x0111xx0x
+                                                         x0xx1110x11xxxxx111000xxxxxxxxxx
                                                          pmull.  */
                                                       return 71;
                                                     }
@@ -13337,7 +13788,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx000111xxxxx11x0111xx1x
+                                                         x1xx1110x11xxxxx111000xxxxxxxxxx
                                                          pmull2.  */
                                                       return 73;
                                                     }
@@ -13362,7 +13813,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx001000xxxxx1xx0111000x
+                                                             x0001110xx1xxxxx000100xxxxxxxxxx
                                                              saddw.  */
                                                           return 44;
                                                         }
@@ -13370,7 +13821,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx001000xxxxx1xx0111001x
+                                                             x1001110xx1xxxxx000100xxxxxxxxxx
                                                              saddw2.  */
                                                           return 45;
                                                         }
@@ -13381,7 +13832,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx001000xxxxx1xx0111010x
+                                                             x0101110xx1xxxxx000100xxxxxxxxxx
                                                              uaddw.  */
                                                           return 76;
                                                         }
@@ -13389,7 +13840,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx001000xxxxx1xx0111011x
+                                                             x1101110xx1xxxxx000100xxxxxxxxxx
                                                              uaddw2.  */
                                                           return 77;
                                                         }
@@ -13401,7 +13852,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx001001xxxxx1xx01110x0x
+                                                         x0x01110xx1xxxxx100100xxxxxxxxxx
                                                          sqdmlal.  */
                                                       return 60;
                                                     }
@@ -13409,7 +13860,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx001001xxxxx1xx01110x1x
+                                                         x1x01110xx1xxxxx100100xxxxxxxxxx
                                                          sqdmlal2.  */
                                                       return 61;
                                                     }
@@ -13425,7 +13876,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx001010xxxxx1xx0111000x
+                                                             x0001110xx1xxxxx010100xxxxxxxxxx
                                                              sabal.  */
                                                           return 52;
                                                         }
@@ -13433,7 +13884,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx001010xxxxx1xx0111001x
+                                                             x1001110xx1xxxxx010100xxxxxxxxxx
                                                              sabal2.  */
                                                           return 53;
                                                         }
@@ -13444,7 +13895,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx001010xxxxx1xx0111010x
+                                                             x0101110xx1xxxxx010100xxxxxxxxxx
                                                              uabal.  */
                                                           return 84;
                                                         }
@@ -13452,7 +13903,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx001010xxxxx1xx0111011x
+                                                             x1101110xx1xxxxx010100xxxxxxxxxx
                                                              uabal2.  */
                                                           return 85;
                                                         }
@@ -13464,7 +13915,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx001011xxxxx1xx01110x0x
+                                                         x0x01110xx1xxxxx110100xxxxxxxxxx
                                                          sqdmull.  */
                                                       return 68;
                                                     }
@@ -13472,7 +13923,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx001011xxxxx1xx01110x1x
+                                                         x1x01110xx1xxxxx110100xxxxxxxxxx
                                                          sqdmull2.  */
                                                       return 69;
                                                     }
@@ -13491,7 +13942,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx001100xxxxx1xx0111000x
+                                                             x0001110xx1xxxxx001100xxxxxxxxxx
                                                              ssubw.  */
                                                           return 48;
                                                         }
@@ -13499,7 +13950,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx001100xxxxx1xx0111001x
+                                                             x1001110xx1xxxxx001100xxxxxxxxxx
                                                              ssubw2.  */
                                                           return 49;
                                                         }
@@ -13510,7 +13961,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx001100xxxxx1xx0111010x
+                                                             x0101110xx1xxxxx001100xxxxxxxxxx
                                                              usubw.  */
                                                           return 80;
                                                         }
@@ -13518,7 +13969,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx001100xxxxx1xx0111011x
+                                                             x1101110xx1xxxxx001100xxxxxxxxxx
                                                              usubw2.  */
                                                           return 81;
                                                         }
@@ -13530,7 +13981,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx001101xxxxx1xx01110x0x
+                                                         x0x01110xx1xxxxx101100xxxxxxxxxx
                                                          sqdmlsl.  */
                                                       return 64;
                                                     }
@@ -13538,7 +13989,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx001101xxxxx1xx01110x1x
+                                                         x1x01110xx1xxxxx101100xxxxxxxxxx
                                                          sqdmlsl2.  */
                                                       return 65;
                                                     }
@@ -13552,7 +14003,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx00111xxxxxx1xx0111000x
+                                                         x0001110xx1xxxxxx11100xxxxxxxxxx
                                                          sabdl.  */
                                                       return 56;
                                                     }
@@ -13560,7 +14011,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx00111xxxxxx1xx0111001x
+                                                         x1001110xx1xxxxxx11100xxxxxxxxxx
                                                          sabdl2.  */
                                                       return 57;
                                                     }
@@ -13571,7 +14022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx00111xxxxxx1xx0111010x
+                                                         x0101110xx1xxxxxx11100xxxxxxxxxx
                                                          uabdl.  */
                                                       return 88;
                                                     }
@@ -13579,7 +14030,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx00111xxxxxx1xx0111011x
+                                                         x1101110xx1xxxxxx11100xxxxxxxxxx
                                                          uabdl2.  */
                                                       return 89;
                                                     }
@@ -13593,7 +14044,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx001xxxxxxxx1xx01111x0x
+                                             x0x11110xx1xxxxxxxx100xxxxxxxxxx
                                              fmov.  */
                                           return 848;
                                         }
@@ -13605,7 +14056,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx00100xxxxxx1xx01111x1x
+                                                     x1x11110xx1xxxxxx00100xxxxxxxxxx
                                                      sqdmlal.  */
                                                   return 416;
                                                 }
@@ -13613,7 +14064,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx00101xxxxxx1xx01111x1x
+                                                     x1x11110xx1xxxxxx10100xxxxxxxxxx
                                                      sqdmull.  */
                                                   return 418;
                                                 }
@@ -13622,7 +14073,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx0011xxxxxxx1xx01111x1x
+                                                 x1x11110xx1xxxxxxx1100xxxxxxxxxx
                                                  sqdmlsl.  */
                                               return 417;
                                             }
@@ -13646,7 +14097,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx010000xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx000010xxxxxxxxxx
                                                          rev64.  */
                                                       return 156;
                                                     }
@@ -13654,7 +14105,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx010000xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx000010xxxxxxxxxx
                                                          rev32.  */
                                                       return 207;
                                                     }
@@ -13665,7 +14116,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx010000xxxxx1xx01111x0x
+                                                         x0x11110xx1xxxxx000010xxxxxxxxxx
                                                          fmul.  */
                                                       return 822;
                                                     }
@@ -13673,7 +14124,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx010000xxxxx1xx01111x1x
+                                                         x1x11110xx1xxxxx000010xxxxxxxxxx
                                                          sha1h.  */
                                                       return 669;
                                                     }
@@ -13689,7 +14140,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0100010xxxx1xx011100xx
+                                                             xx001110xx1xxxx0100010xxxxxxxxxx
                                                              cmgt.  */
                                                           return 164;
                                                         }
@@ -13697,7 +14148,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0100010xxxx1xx011101xx
+                                                             xx101110xx1xxxx0100010xxxxxxxxxx
                                                              cmge.  */
                                                           return 213;
                                                         }
@@ -13712,7 +14163,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0100011xx0x1x0011100xx
+                                                                     xx0011100x1x0xx1100010xxxxxxxxxx
                                                                      frintn.  */
                                                                   return 176;
                                                                 }
@@ -13720,7 +14171,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0100011xx0x1x0011101xx
+                                                                     xx1011100x1x0xx1100010xxxxxxxxxx
                                                                      frinta.  */
                                                                   return 224;
                                                                 }
@@ -13729,7 +14180,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100011xx0x1x101110xxx
+                                                                 xxx011101x1x0xx1100010xxxxxxxxxx
                                                                  frintp.  */
                                                               return 196;
                                                             }
@@ -13742,7 +14193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0100011xx1x1x0011100xx
+                                                                     xx0011100x1x1xx1100010xxxxxxxxxx
                                                                      frintn.  */
                                                                   return 177;
                                                                 }
@@ -13750,7 +14201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0100011xx1x1x0011101xx
+                                                                     xx1011100x1x1xx1100010xxxxxxxxxx
                                                                      frinta.  */
                                                                   return 225;
                                                                 }
@@ -13759,7 +14210,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100011xx1x1x101110xxx
+                                                                 xxx011101x1x1xx1100010xxxxxxxxxx
                                                                  frintp.  */
                                                               return 197;
                                                             }
@@ -13774,7 +14225,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx010001xxxxx1xx0111100x
+                                                             x0011110xx1xxxxx100010xxxxxxxxxx
                                                              fnmul.  */
                                                           return 838;
                                                         }
@@ -13782,7 +14233,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx010001xxxxx1xx0111101x
+                                                             x1011110xx1xxxxx100010xxxxxxxxxx
                                                              cmgt.  */
                                                           return 476;
                                                         }
@@ -13791,7 +14242,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx010001xxxxx1xx011111xx
+                                                         xx111110xx1xxxxx100010xxxxxxxxxx
                                                          cmge.  */
                                                       return 505;
                                                     }
@@ -13812,7 +14263,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100100xx0x1xx011100xx
+                                                                 xx001110xx1x0xx0010010xxxxxxxxxx
                                                                  cls.  */
                                                               return 160;
                                                             }
@@ -13820,7 +14271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100100xx0x1xx011101xx
+                                                                 xx101110xx1x0xx0010010xxxxxxxxxx
                                                                  clz.  */
                                                               return 210;
                                                             }
@@ -13829,7 +14280,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0100100xx1x1xx01110xxx
+                                                             xxx01110xx1x1xx0010010xxxxxxxxxx
                                                              aese.  */
                                                           return 665;
                                                         }
@@ -13842,7 +14293,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100101xxxx1xx0111000x
+                                                                 x0001110xx1xxxx1010010xxxxxxxxxx
                                                                  sqxtn.  */
                                                               return 170;
                                                             }
@@ -13850,7 +14301,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100101xxxx1xx0111001x
+                                                                 x1001110xx1xxxx1010010xxxxxxxxxx
                                                                  sqxtn2.  */
                                                               return 171;
                                                             }
@@ -13861,7 +14312,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100101xxxx1xx0111010x
+                                                                 x0101110xx1xxxx1010010xxxxxxxxxx
                                                                  uqxtn.  */
                                                               return 220;
                                                             }
@@ -13869,7 +14320,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100101xxxx1xx0111011x
+                                                                 x1101110xx1xxxx1010010xxxxxxxxxx
                                                                  uqxtn2.  */
                                                               return 221;
                                                             }
@@ -13884,7 +14335,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx010010xxxxx1xx0111100x
+                                                             x0011110xx1xxxxx010010xxxxxxxxxx
                                                              fmax.  */
                                                           return 830;
                                                         }
@@ -13892,7 +14343,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx010010xxxxx1xx0111101x
+                                                             x1011110xx1xxxxx010010xxxxxxxxxx
                                                              sqxtn.  */
                                                           return 480;
                                                         }
@@ -13901,7 +14352,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx010010xxxxx1xx011111xx
+                                                         xx111110xx1xxxxx010010xxxxxxxxxx
                                                          uqxtn.  */
                                                       return 509;
                                                     }
@@ -13921,7 +14372,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0100110xx001xx011100xx
+                                                                     xx001110xx100xx0110010xxxxxxxxxx
                                                                      fcmgt.  */
                                                                   return 188;
                                                                 }
@@ -13929,7 +14380,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0100110xx001xx011101xx
+                                                                     xx101110xx100xx0110010xxxxxxxxxx
                                                                      fcmge.  */
                                                                   return 239;
                                                                 }
@@ -13940,7 +14391,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0100110xx001xx011110xx
+                                                                     xx011110xx100xx0110010xxxxxxxxxx
                                                                      fcmgt.  */
                                                                   return 489;
                                                                 }
@@ -13948,7 +14399,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0100110xx001xx011111xx
+                                                                     xx111110xx100xx0110010xxxxxxxxxx
                                                                      fcmge.  */
                                                                   return 519;
                                                                 }
@@ -13964,7 +14415,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0100110xx011x0011100xx
+                                                                         xx0011100x110xx0110010xxxxxxxxxx
                                                                          fmaxnmv.  */
                                                                       return 35;
                                                                     }
@@ -13972,7 +14423,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0100110xx011x0011101xx
+                                                                         xx1011100x110xx0110010xxxxxxxxxx
                                                                          fmaxnmv.  */
                                                                       return 34;
                                                                     }
@@ -13983,7 +14434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0100110xx011x0011110xx
+                                                                         xx0111100x110xx0110010xxxxxxxxxx
                                                                          fmaxnmp.  */
                                                                       return 533;
                                                                     }
@@ -13991,7 +14442,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0100110xx011x0011111xx
+                                                                         xx1111100x110xx0110010xxxxxxxxxx
                                                                          fmaxnmp.  */
                                                                       return 532;
                                                                     }
@@ -14005,7 +14456,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0100110xx011x1011100xx
+                                                                         xx0011101x110xx0110010xxxxxxxxxx
                                                                          fminnmv.  */
                                                                       return 39;
                                                                     }
@@ -14013,7 +14464,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0100110xx011x1011101xx
+                                                                         xx1011101x110xx0110010xxxxxxxxxx
                                                                          fminnmv.  */
                                                                       return 38;
                                                                     }
@@ -14024,7 +14475,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0100110xx011x1011110xx
+                                                                         xx0111101x110xx0110010xxxxxxxxxx
                                                                          fminnmp.  */
                                                                       return 539;
                                                                     }
@@ -14032,7 +14483,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0100110xx011x1011111xx
+                                                                         xx1111101x110xx0110010xxxxxxxxxx
                                                                          fminnmp.  */
                                                                       return 538;
                                                                     }
@@ -14048,7 +14499,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100110xx1x1xx011100xx
+                                                                 xx001110xx1x1xx0110010xxxxxxxxxx
                                                                  fcmgt.  */
                                                               return 189;
                                                             }
@@ -14056,7 +14507,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100110xx1x1xx011101xx
+                                                                 xx101110xx1x1xx0110010xxxxxxxxxx
                                                                  fcmge.  */
                                                               return 240;
                                                             }
@@ -14067,7 +14518,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100110xx1x1xx011110xx
+                                                                 xx011110xx1x1xx0110010xxxxxxxxxx
                                                                  fcmgt.  */
                                                               return 490;
                                                             }
@@ -14075,7 +14526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100110xx1x1xx011111xx
+                                                                 xx111110xx1x1xx0110010xxxxxxxxxx
                                                                  fcmge.  */
                                                               return 520;
                                                             }
@@ -14094,7 +14545,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0100111xx0x1x0011100xx
+                                                                     xx0011100x1x0xx1110010xxxxxxxxxx
                                                                      fcvtas.  */
                                                                   return 184;
                                                                 }
@@ -14102,7 +14553,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0100111xx0x1x0011101xx
+                                                                     xx1011100x1x0xx1110010xxxxxxxxxx
                                                                      fcvtau.  */
                                                                   return 232;
                                                                 }
@@ -14113,7 +14564,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0100111xx0x1x0011110xx
+                                                                     xx0111100x1x0xx1110010xxxxxxxxxx
                                                                      fcvtas.  */
                                                                   return 485;
                                                                 }
@@ -14121,7 +14572,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0100111xx0x1x0011111xx
+                                                                     xx1111100x1x0xx1110010xxxxxxxxxx
                                                                      fcvtau.  */
                                                                   return 515;
                                                                 }
@@ -14133,7 +14584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100111xx0x1x10111x0xx
+                                                                 xx0x11101x1x0xx1110010xxxxxxxxxx
                                                                  urecpe.  */
                                                               return 204;
                                                             }
@@ -14141,7 +14592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100111xx0x1x10111x1xx
+                                                                 xx1x11101x1x0xx1110010xxxxxxxxxx
                                                                  ursqrte.  */
                                                               return 251;
                                                             }
@@ -14155,7 +14606,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100111xx1x1xx011100xx
+                                                                 xx001110xx1x1xx1110010xxxxxxxxxx
                                                                  fcvtas.  */
                                                               return 185;
                                                             }
@@ -14163,7 +14614,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100111xx1x1xx011101xx
+                                                                 xx101110xx1x1xx1110010xxxxxxxxxx
                                                                  fcvtau.  */
                                                               return 233;
                                                             }
@@ -14174,7 +14625,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100111xx1x1xx011110xx
+                                                                 xx011110xx1x1xx1110010xxxxxxxxxx
                                                                  fcvtas.  */
                                                               return 486;
                                                             }
@@ -14182,7 +14633,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100111xx1x1xx011111xx
+                                                                 xx111110xx1x1xx1110010xxxxxxxxxx
                                                                  fcvtau.  */
                                                               return 516;
                                                             }
@@ -14206,7 +14657,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0101000xxxx1xx011100xx
+                                                             xx001110xx1xxxx0001010xxxxxxxxxx
                                                              saddlp.  */
                                                           return 158;
                                                         }
@@ -14214,7 +14665,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0101000xxxx1xx011101xx
+                                                             xx101110xx1xxxx0001010xxxxxxxxxx
                                                              uaddlp.  */
                                                           return 208;
                                                         }
@@ -14227,7 +14678,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0101001xxxx1xx0111000x
+                                                                 x0001110xx1xxxx1001010xxxxxxxxxx
                                                                  xtn.  */
                                                               return 168;
                                                             }
@@ -14235,7 +14686,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0101001xxxx1xx0111001x
+                                                                 x1001110xx1xxxx1001010xxxxxxxxxx
                                                                  xtn2.  */
                                                               return 169;
                                                             }
@@ -14246,7 +14697,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0101001xxxx1xx0111010x
+                                                                 x0101110xx1xxxx1001010xxxxxxxxxx
                                                                  sqxtun.  */
                                                               return 216;
                                                             }
@@ -14254,7 +14705,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0101001xxxx1xx0111011x
+                                                                 x1101110xx1xxxx1001010xxxxxxxxxx
                                                                  sqxtun2.  */
                                                               return 217;
                                                             }
@@ -14269,7 +14720,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx010100xxxxx1xx0111100x
+                                                             x0011110xx1xxxxx001010xxxxxxxxxx
                                                              fadd.  */
                                                           return 826;
                                                         }
@@ -14277,7 +14728,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx010100xxxxx1xx0111101x
+                                                             x1011110xx1xxxxx001010xxxxxxxxxx
                                                              sha256su0.  */
                                                           return 671;
                                                         }
@@ -14286,7 +14737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx010100xxxxx1xx011111xx
+                                                         xx111110xx1xxxxx001010xxxxxxxxxx
                                                          sqxtun.  */
                                                       return 508;
                                                     }
@@ -14302,7 +14753,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0101010xxx01xx01110xxx
+                                                             xxx01110xx10xxx0101010xxxxxxxxxx
                                                              cmlt.  */
                                                           return 166;
                                                         }
@@ -14310,7 +14761,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0101010xxx01xx01111xxx
+                                                             xxx11110xx10xxx0101010xxxxxxxxxx
                                                              cmlt.  */
                                                           return 478;
                                                         }
@@ -14321,7 +14772,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0101010xxx11xx0111x0xx
+                                                             xx0x1110xx11xxx0101010xxxxxxxxxx
                                                              smaxv.  */
                                                           return 28;
                                                         }
@@ -14329,7 +14780,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0101010xxx11xx0111x1xx
+                                                             xx1x1110xx11xxx0101010xxxxxxxxxx
                                                              umaxv.  */
                                                           return 32;
                                                         }
@@ -14349,7 +14800,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0101011xx001x0011100xx
+                                                                         xx0011100x100xx1101010xxxxxxxxxx
                                                                          fcvtns.  */
                                                                       return 180;
                                                                     }
@@ -14357,7 +14808,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0101011xx001x0011101xx
+                                                                         xx1011100x100xx1101010xxxxxxxxxx
                                                                          fcvtnu.  */
                                                                       return 228;
                                                                     }
@@ -14368,7 +14819,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0101011xx001x0011110xx
+                                                                         xx0111100x100xx1101010xxxxxxxxxx
                                                                          fcvtns.  */
                                                                       return 481;
                                                                     }
@@ -14376,7 +14827,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0101011xx001x0011111xx
+                                                                         xx1111100x100xx1101010xxxxxxxxxx
                                                                          fcvtnu.  */
                                                                       return 511;
                                                                     }
@@ -14390,7 +14841,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0101011xx001x1011100xx
+                                                                         xx0011101x100xx1101010xxxxxxxxxx
                                                                          fcvtps.  */
                                                                       return 200;
                                                                     }
@@ -14398,7 +14849,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0101011xx001x1011101xx
+                                                                         xx1011101x100xx1101010xxxxxxxxxx
                                                                          fcvtpu.  */
                                                                       return 247;
                                                                     }
@@ -14409,7 +14860,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0101011xx001x1011110xx
+                                                                         xx0111101x100xx1101010xxxxxxxxxx
                                                                          fcvtps.  */
                                                                       return 495;
                                                                     }
@@ -14417,7 +14868,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0101011xx001x1011111xx
+                                                                         xx1111101x100xx1101010xxxxxxxxxx
                                                                          fcvtpu.  */
                                                                       return 523;
                                                                     }
@@ -14430,7 +14881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0101011xx011xx0111x0xx
+                                                                 xx0x1110xx110xx1101010xxxxxxxxxx
                                                                  sminv.  */
                                                               return 29;
                                                             }
@@ -14438,7 +14889,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0101011xx011xx0111x1xx
+                                                                 xx1x1110xx110xx1101010xxxxxxxxxx
                                                                  uminv.  */
                                                               return 33;
                                                             }
@@ -14454,7 +14905,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0101011xx1x1x0011100xx
+                                                                     xx0011100x1x1xx1101010xxxxxxxxxx
                                                                      fcvtns.  */
                                                                   return 181;
                                                                 }
@@ -14462,7 +14913,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0101011xx1x1x0011101xx
+                                                                     xx1011100x1x1xx1101010xxxxxxxxxx
                                                                      fcvtnu.  */
                                                                   return 229;
                                                                 }
@@ -14473,7 +14924,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0101011xx1x1x0011110xx
+                                                                     xx0111100x1x1xx1101010xxxxxxxxxx
                                                                      fcvtns.  */
                                                                   return 482;
                                                                 }
@@ -14481,7 +14932,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0101011xx1x1x0011111xx
+                                                                     xx1111100x1x1xx1101010xxxxxxxxxx
                                                                      fcvtnu.  */
                                                                   return 512;
                                                                 }
@@ -14495,7 +14946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0101011xx1x1x1011100xx
+                                                                     xx0011101x1x1xx1101010xxxxxxxxxx
                                                                      fcvtps.  */
                                                                   return 201;
                                                                 }
@@ -14503,7 +14954,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0101011xx1x1x1011101xx
+                                                                     xx1011101x1x1xx1101010xxxxxxxxxx
                                                                      fcvtpu.  */
                                                                   return 248;
                                                                 }
@@ -14514,7 +14965,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0101011xx1x1x1011110xx
+                                                                     xx0111101x1x1xx1101010xxxxxxxxxx
                                                                      fcvtps.  */
                                                                   return 496;
                                                                 }
@@ -14522,7 +14973,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0101011xx1x1x1011111xx
+                                                                     xx1111101x1x1xx1101010xxxxxxxxxx
                                                                      fcvtpu.  */
                                                                   return 524;
                                                                 }
@@ -14546,7 +14997,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0101100xx0x1xx011100xx
+                                                                 xx001110xx1x0xx0011010xxxxxxxxxx
                                                                  sadalp.  */
                                                               return 162;
                                                             }
@@ -14554,7 +15005,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0101100xx0x1xx011101xx
+                                                                 xx101110xx1x0xx0011010xxxxxxxxxx
                                                                  uadalp.  */
                                                               return 211;
                                                             }
@@ -14563,7 +15014,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0101100xx1x1xx01110xxx
+                                                             xxx01110xx1x1xx0011010xxxxxxxxxx
                                                              aesmc.  */
                                                           return 667;
                                                         }
@@ -14576,7 +15027,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0101101xxxx1xx0111000x
+                                                                 x0001110xx1xxxx1011010xxxxxxxxxx
                                                                  fcvtn.  */
                                                               return 172;
                                                             }
@@ -14584,7 +15035,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0101101xxxx1xx0111001x
+                                                                 x1001110xx1xxxx1011010xxxxxxxxxx
                                                                  fcvtn2.  */
                                                               return 173;
                                                             }
@@ -14595,7 +15046,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0101101xxxx1xx0111010x
+                                                                 x0101110xx1xxxx1011010xxxxxxxxxx
                                                                  fcvtxn.  */
                                                               return 222;
                                                             }
@@ -14603,7 +15054,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0101101xxxx1xx0111011x
+                                                                 x1101110xx1xxxx1011010xxxxxxxxxx
                                                                  fcvtxn2.  */
                                                               return 223;
                                                             }
@@ -14616,7 +15067,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx010110xxxxx1xx011110xx
+                                                         xx011110xx1xxxxx011010xxxxxxxxxx
                                                          fmaxnm.  */
                                                       return 834;
                                                     }
@@ -14624,7 +15075,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx010110xxxxx1xx011111xx
+                                                         xx111110xx1xxxxx011010xxxxxxxxxx
                                                          fcvtxn.  */
                                                       return 510;
                                                     }
@@ -14638,7 +15089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx010111xxx0x1xx01110xxx
+                                                         xxx01110xx1x0xxx111010xxxxxxxxxx
                                                          fcmlt.  */
                                                       return 192;
                                                     }
@@ -14646,7 +15097,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx010111xxx0x1xx01111xxx
+                                                         xxx11110xx1x0xxx111010xxxxxxxxxx
                                                          fcmlt.  */
                                                       return 493;
                                                     }
@@ -14657,7 +15108,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx010111xxx1x1xx01110xxx
+                                                         xxx01110xx1x1xxx111010xxxxxxxxxx
                                                          fcmlt.  */
                                                       return 193;
                                                     }
@@ -14665,7 +15116,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx010111xxx1x1xx01111xxx
+                                                         xxx11110xx1x1xxx111010xxxxxxxxxx
                                                          fcmlt.  */
                                                       return 494;
                                                     }
@@ -14686,7 +15137,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx011000xxxxx1xx01110xxx
+                                                     xxx01110xx1xxxxx000110xxxxxxxxxx
                                                      rev16.  */
                                                   return 157;
                                                 }
@@ -14696,7 +15147,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx011000xxxxx1xx01111x0x
+                                                         x0x11110xx1xxxxx000110xxxxxxxxxx
                                                          fdiv.  */
                                                       return 824;
                                                     }
@@ -14704,7 +15155,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx011000xxxxx1xx01111x1x
+                                                         x1x11110xx1xxxxx000110xxxxxxxxxx
                                                          sha1su1.  */
                                                       return 670;
                                                     }
@@ -14720,7 +15171,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0110010xxxx1xx011100xx
+                                                             xx001110xx1xxxx0100110xxxxxxxxxx
                                                              cmeq.  */
                                                           return 165;
                                                         }
@@ -14728,7 +15179,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0110010xxxx1xx011101xx
+                                                             xx101110xx1xxxx0100110xxxxxxxxxx
                                                              cmle.  */
                                                           return 214;
                                                         }
@@ -14739,7 +15190,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0110010xxxx1xx011110xx
+                                                             xx011110xx1xxxx0100110xxxxxxxxxx
                                                              cmeq.  */
                                                           return 477;
                                                         }
@@ -14747,7 +15198,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0110010xxxx1xx011111xx
+                                                             xx111110xx1xxxx0100110xxxxxxxxxx
                                                              cmle.  */
                                                           return 506;
                                                         }
@@ -14763,7 +15214,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110011xx0x1x00111x0xx
+                                                                 xx0x11100x1x0xx1100110xxxxxxxxxx
                                                                  frintm.  */
                                                               return 178;
                                                             }
@@ -14771,7 +15222,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110011xx0x1x00111x1xx
+                                                                 xx1x11100x1x0xx1100110xxxxxxxxxx
                                                                  frintx.  */
                                                               return 226;
                                                             }
@@ -14782,7 +15233,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110011xx0x1x10111x0xx
+                                                                 xx0x11101x1x0xx1100110xxxxxxxxxx
                                                                  frintz.  */
                                                               return 198;
                                                             }
@@ -14790,7 +15241,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110011xx0x1x10111x1xx
+                                                                 xx1x11101x1x0xx1100110xxxxxxxxxx
                                                                  frinti.  */
                                                               return 245;
                                                             }
@@ -14804,7 +15255,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110011xx1x1x00111x0xx
+                                                                 xx0x11100x1x1xx1100110xxxxxxxxxx
                                                                  frintm.  */
                                                               return 179;
                                                             }
@@ -14812,7 +15263,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110011xx1x1x00111x1xx
+                                                                 xx1x11100x1x1xx1100110xxxxxxxxxx
                                                                  frintx.  */
                                                               return 227;
                                                             }
@@ -14823,7 +15274,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110011xx1x1x10111x0xx
+                                                                 xx0x11101x1x1xx1100110xxxxxxxxxx
                                                                  frintz.  */
                                                               return 199;
                                                             }
@@ -14831,7 +15282,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110011xx1x1x10111x1xx
+                                                                 xx1x11101x1x1xx1100110xxxxxxxxxx
                                                                  frinti.  */
                                                               return 246;
                                                             }
@@ -14852,7 +15303,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx011010xxx0x1xx011100xx
+                                                             xx001110xx1x0xxx010110xxxxxxxxxx
                                                              cnt.  */
                                                           return 161;
                                                         }
@@ -14862,7 +15313,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx011010xxx0x10x011101xx
+                                                                 xx101110x01x0xxx010110xxxxxxxxxx
                                                                  not.  */
                                                               return 236;
                                                             }
@@ -14870,7 +15321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx011010xxx0x11x011101xx
+                                                                 xx101110x11x0xxx010110xxxxxxxxxx
                                                                  rbit.  */
                                                               return 238;
                                                             }
@@ -14880,7 +15331,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx011010xxx1x1xx01110xxx
+                                                         xxx01110xx1x1xxx010110xxxxxxxxxx
                                                          aesd.  */
                                                       return 666;
                                                     }
@@ -14889,7 +15340,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx011010xxxxx1xx01111xxx
+                                                     xxx11110xx1xxxxx010110xxxxxxxxxx
                                                      fmin.  */
                                                   return 832;
                                                 }
@@ -14908,7 +15359,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110110xx001xx011100xx
+                                                                     xx001110xx100xx0110110xxxxxxxxxx
                                                                      fcmeq.  */
                                                                   return 190;
                                                                 }
@@ -14916,7 +15367,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110110xx001xx011101xx
+                                                                     xx101110xx100xx0110110xxxxxxxxxx
                                                                      fcmle.  */
                                                                   return 241;
                                                                 }
@@ -14927,7 +15378,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110110xx001xx011110xx
+                                                                     xx011110xx100xx0110110xxxxxxxxxx
                                                                      fcmeq.  */
                                                                   return 491;
                                                                 }
@@ -14935,7 +15386,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110110xx001xx011111xx
+                                                                     xx111110xx100xx0110110xxxxxxxxxx
                                                                      fcmle.  */
                                                                   return 521;
                                                                 }
@@ -14947,7 +15398,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110110xx011xx0111x0xx
+                                                                 xx0x1110xx110xx0110110xxxxxxxxxx
                                                                  faddp.  */
                                                               return 535;
                                                             }
@@ -14955,7 +15406,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110110xx011xx0111x1xx
+                                                                 xx1x1110xx110xx0110110xxxxxxxxxx
                                                                  faddp.  */
                                                               return 534;
                                                             }
@@ -14969,7 +15420,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110110xx1x1xx011100xx
+                                                                 xx001110xx1x1xx0110110xxxxxxxxxx
                                                                  fcmeq.  */
                                                               return 191;
                                                             }
@@ -14977,7 +15428,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110110xx1x1xx011101xx
+                                                                 xx101110xx1x1xx0110110xxxxxxxxxx
                                                                  fcmle.  */
                                                               return 242;
                                                             }
@@ -14988,7 +15439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110110xx1x1xx011110xx
+                                                                 xx011110xx1x1xx0110110xxxxxxxxxx
                                                                  fcmeq.  */
                                                               return 492;
                                                             }
@@ -14996,7 +15447,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110110xx1x1xx011111xx
+                                                                 xx111110xx1x1xx0110110xxxxxxxxxx
                                                                  fcmle.  */
                                                               return 522;
                                                             }
@@ -15015,7 +15466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110111xx0x1x0011100xx
+                                                                     xx0011100x1x0xx1110110xxxxxxxxxx
                                                                      scvtf.  */
                                                                   return 186;
                                                                 }
@@ -15023,7 +15474,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110111xx0x1x0011101xx
+                                                                     xx1011100x1x0xx1110110xxxxxxxxxx
                                                                      ucvtf.  */
                                                                   return 234;
                                                                 }
@@ -15034,7 +15485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110111xx0x1x0011110xx
+                                                                     xx0111100x1x0xx1110110xxxxxxxxxx
                                                                      scvtf.  */
                                                                   return 487;
                                                                 }
@@ -15042,7 +15493,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110111xx0x1x0011111xx
+                                                                     xx1111100x1x0xx1110110xxxxxxxxxx
                                                                      ucvtf.  */
                                                                   return 517;
                                                                 }
@@ -15056,7 +15507,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110111xx0x1x1011100xx
+                                                                     xx0011101x1x0xx1110110xxxxxxxxxx
                                                                      frecpe.  */
                                                                   return 205;
                                                                 }
@@ -15064,7 +15515,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110111xx0x1x1011101xx
+                                                                     xx1011101x1x0xx1110110xxxxxxxxxx
                                                                      frsqrte.  */
                                                                   return 252;
                                                                 }
@@ -15075,7 +15526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110111xx0x1x1011110xx
+                                                                     xx0111101x1x0xx1110110xxxxxxxxxx
                                                                      frecpe.  */
                                                                   return 499;
                                                                 }
@@ -15083,7 +15534,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110111xx0x1x1011111xx
+                                                                     xx1111101x1x0xx1110110xxxxxxxxxx
                                                                      frsqrte.  */
                                                                   return 527;
                                                                 }
@@ -15100,7 +15551,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110111xx1x1x0011100xx
+                                                                     xx0011100x1x1xx1110110xxxxxxxxxx
                                                                      scvtf.  */
                                                                   return 187;
                                                                 }
@@ -15108,7 +15559,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110111xx1x1x0011101xx
+                                                                     xx1011100x1x1xx1110110xxxxxxxxxx
                                                                      ucvtf.  */
                                                                   return 235;
                                                                 }
@@ -15119,7 +15570,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110111xx1x1x0011110xx
+                                                                     xx0111100x1x1xx1110110xxxxxxxxxx
                                                                      scvtf.  */
                                                                   return 488;
                                                                 }
@@ -15127,7 +15578,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110111xx1x1x0011111xx
+                                                                     xx1111100x1x1xx1110110xxxxxxxxxx
                                                                      ucvtf.  */
                                                                   return 518;
                                                                 }
@@ -15141,7 +15592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110111xx1x1x1011100xx
+                                                                     xx0011101x1x1xx1110110xxxxxxxxxx
                                                                      frecpe.  */
                                                                   return 206;
                                                                 }
@@ -15149,7 +15600,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110111xx1x1x1011101xx
+                                                                     xx1011101x1x1xx1110110xxxxxxxxxx
                                                                      frsqrte.  */
                                                                   return 253;
                                                                 }
@@ -15160,7 +15611,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110111xx1x1x1011110xx
+                                                                     xx0111101x1x1xx1110110xxxxxxxxxx
                                                                      frecpe.  */
                                                                   return 500;
                                                                 }
@@ -15168,7 +15619,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0110111xx1x1x1011111xx
+                                                                     xx1111101x1x1xx1110110xxxxxxxxxx
                                                                      frsqrte.  */
                                                                   return 528;
                                                                 }
@@ -15195,7 +15646,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0111000xxx01xx011100xx
+                                                                 xx001110xx10xxx0001110xxxxxxxxxx
                                                                  suqadd.  */
                                                               return 159;
                                                             }
@@ -15203,7 +15654,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0111000xxx01xx011101xx
+                                                                 xx101110xx10xxx0001110xxxxxxxxxx
                                                                  usqadd.  */
                                                               return 209;
                                                             }
@@ -15214,7 +15665,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0111000xxx11xx011100xx
+                                                                 xx001110xx11xxx0001110xxxxxxxxxx
                                                                  saddlv.  */
                                                               return 27;
                                                             }
@@ -15222,7 +15673,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0111000xxx11xx011101xx
+                                                                 xx101110xx11xxx0001110xxxxxxxxxx
                                                                  uaddlv.  */
                                                               return 31;
                                                             }
@@ -15234,7 +15685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111001xxxx1xx01110x0x
+                                                             x0x01110xx1xxxx1001110xxxxxxxxxx
                                                              shll.  */
                                                           return 218;
                                                         }
@@ -15242,7 +15693,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111001xxxx1xx01110x1x
+                                                             x1x01110xx1xxxx1001110xxxxxxxxxx
                                                              shll2.  */
                                                           return 219;
                                                         }
@@ -15256,7 +15707,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx011100xxxxx1xx0111100x
+                                                             x0011110xx1xxxxx001110xxxxxxxxxx
                                                              fsub.  */
                                                           return 828;
                                                         }
@@ -15264,7 +15715,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx011100xxxxx1xx0111101x
+                                                             x1011110xx1xxxxx001110xxxxxxxxxx
                                                              suqadd.  */
                                                           return 474;
                                                         }
@@ -15273,7 +15724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx011100xxxxx1xx011111xx
+                                                         xx111110xx1xxxxx001110xxxxxxxxxx
                                                          usqadd.  */
                                                       return 503;
                                                     }
@@ -15289,7 +15740,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111010xxxx1xx011100xx
+                                                             xx001110xx1xxxx0101110xxxxxxxxxx
                                                              abs.  */
                                                           return 167;
                                                         }
@@ -15297,7 +15748,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111010xxxx1xx011101xx
+                                                             xx101110xx1xxxx0101110xxxxxxxxxx
                                                              neg.  */
                                                           return 215;
                                                         }
@@ -15308,7 +15759,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111010xxxx1xx011110xx
+                                                             xx011110xx1xxxx0101110xxxxxxxxxx
                                                              abs.  */
                                                           return 479;
                                                         }
@@ -15316,7 +15767,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111010xxxx1xx011111xx
+                                                             xx111110xx1xxxx0101110xxxxxxxxxx
                                                              neg.  */
                                                           return 507;
                                                         }
@@ -15336,7 +15787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0111011xx001x0011100xx
+                                                                         xx0011100x100xx1101110xxxxxxxxxx
                                                                          fcvtms.  */
                                                                       return 182;
                                                                     }
@@ -15344,7 +15795,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0111011xx001x0011101xx
+                                                                         xx1011100x100xx1101110xxxxxxxxxx
                                                                          fcvtmu.  */
                                                                       return 230;
                                                                     }
@@ -15355,7 +15806,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0111011xx001x0011110xx
+                                                                         xx0111100x100xx1101110xxxxxxxxxx
                                                                          fcvtms.  */
                                                                       return 483;
                                                                     }
@@ -15363,7 +15814,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0111011xx001x0011111xx
+                                                                         xx1111100x100xx1101110xxxxxxxxxx
                                                                          fcvtmu.  */
                                                                       return 513;
                                                                     }
@@ -15377,7 +15828,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0111011xx001x1011100xx
+                                                                         xx0011101x100xx1101110xxxxxxxxxx
                                                                          fcvtzs.  */
                                                                       return 202;
                                                                     }
@@ -15385,7 +15836,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0111011xx001x1011101xx
+                                                                         xx1011101x100xx1101110xxxxxxxxxx
                                                                          fcvtzu.  */
                                                                       return 249;
                                                                     }
@@ -15396,7 +15847,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0111011xx001x1011110xx
+                                                                         xx0111101x100xx1101110xxxxxxxxxx
                                                                          fcvtzs.  */
                                                                       return 497;
                                                                     }
@@ -15404,7 +15855,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0111011xx001x1011111xx
+                                                                         xx1111101x100xx1101110xxxxxxxxxx
                                                                          fcvtzu.  */
                                                                       return 525;
                                                                     }
@@ -15417,7 +15868,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0111011xx011xx01110xxx
+                                                                 xxx01110xx110xx1101110xxxxxxxxxx
                                                                  addv.  */
                                                               return 30;
                                                             }
@@ -15425,7 +15876,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0111011xx011xx01111xxx
+                                                                 xxx11110xx110xx1101110xxxxxxxxxx
                                                                  addp.  */
                                                               return 531;
                                                             }
@@ -15441,7 +15892,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0111011xx1x1x0011100xx
+                                                                     xx0011100x1x1xx1101110xxxxxxxxxx
                                                                      fcvtms.  */
                                                                   return 183;
                                                                 }
@@ -15449,7 +15900,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0111011xx1x1x0011101xx
+                                                                     xx1011100x1x1xx1101110xxxxxxxxxx
                                                                      fcvtmu.  */
                                                                   return 231;
                                                                 }
@@ -15460,7 +15911,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0111011xx1x1x0011110xx
+                                                                     xx0111100x1x1xx1101110xxxxxxxxxx
                                                                      fcvtms.  */
                                                                   return 484;
                                                                 }
@@ -15468,7 +15919,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0111011xx1x1x0011111xx
+                                                                     xx1111100x1x1xx1101110xxxxxxxxxx
                                                                      fcvtmu.  */
                                                                   return 514;
                                                                 }
@@ -15482,7 +15933,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0111011xx1x1x1011100xx
+                                                                     xx0011101x1x1xx1101110xxxxxxxxxx
                                                                      fcvtzs.  */
                                                                   return 203;
                                                                 }
@@ -15490,7 +15941,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0111011xx1x1x1011101xx
+                                                                     xx1011101x1x1xx1101110xxxxxxxxxx
                                                                      fcvtzu.  */
                                                                   return 250;
                                                                 }
@@ -15501,7 +15952,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0111011xx1x1x1011110xx
+                                                                     xx0111101x1x1xx1101110xxxxxxxxxx
                                                                      fcvtzs.  */
                                                                   return 498;
                                                                 }
@@ -15509,7 +15960,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0111011xx1x1x1011111xx
+                                                                     xx1111101x1x1xx1101110xxxxxxxxxx
                                                                      fcvtzu.  */
                                                                   return 526;
                                                                 }
@@ -15533,7 +15984,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0111100xx0x1xx011100xx
+                                                                 xx001110xx1x0xx0011110xxxxxxxxxx
                                                                  sqabs.  */
                                                               return 163;
                                                             }
@@ -15541,7 +15992,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0111100xx0x1xx011101xx
+                                                                 xx101110xx1x0xx0011110xxxxxxxxxx
                                                                  sqneg.  */
                                                               return 212;
                                                             }
@@ -15550,7 +16001,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111100xx1x1xx01110xxx
+                                                             xxx01110xx1x1xx0011110xxxxxxxxxx
                                                              aesimc.  */
                                                           return 668;
                                                         }
@@ -15561,7 +16012,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111101xxxx1xx01110x0x
+                                                             x0x01110xx1xxxx1011110xxxxxxxxxx
                                                              fcvtl.  */
                                                           return 174;
                                                         }
@@ -15569,7 +16020,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111101xxxx1xx01110x1x
+                                                             x1x01110xx1xxxx1011110xxxxxxxxxx
                                                              fcvtl2.  */
                                                           return 175;
                                                         }
@@ -15583,7 +16034,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx011110xxxxx1xx0111100x
+                                                             x0011110xx1xxxxx011110xxxxxxxxxx
                                                              fminnm.  */
                                                           return 836;
                                                         }
@@ -15591,7 +16042,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx011110xxxxx1xx0111101x
+                                                             x1011110xx1xxxxx011110xxxxxxxxxx
                                                              sqabs.  */
                                                           return 475;
                                                         }
@@ -15600,7 +16051,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx011110xxxxx1xx011111xx
+                                                         xx111110xx1xxxxx011110xxxxxxxxxx
                                                          sqneg.  */
                                                       return 504;
                                                     }
@@ -15618,7 +16069,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0111110xx001xx0111x0xx
+                                                                 xx0x1110xx100xx0111110xxxxxxxxxx
                                                                  fabs.  */
                                                               return 194;
                                                             }
@@ -15626,7 +16077,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0111110xx001xx0111x1xx
+                                                                 xx1x1110xx100xx0111110xxxxxxxxxx
                                                                  fneg.  */
                                                               return 243;
                                                             }
@@ -15641,7 +16092,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0111110xx011x0011100xx
+                                                                         xx0011100x110xx0111110xxxxxxxxxx
                                                                          fmaxv.  */
                                                                       return 37;
                                                                     }
@@ -15649,7 +16100,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0111110xx011x0011101xx
+                                                                         xx1011100x110xx0111110xxxxxxxxxx
                                                                          fmaxv.  */
                                                                       return 36;
                                                                     }
@@ -15660,7 +16111,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0111110xx011x0011110xx
+                                                                         xx0111100x110xx0111110xxxxxxxxxx
                                                                          fmaxp.  */
                                                                       return 537;
                                                                     }
@@ -15668,7 +16119,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0111110xx011x0011111xx
+                                                                         xx1111100x110xx0111110xxxxxxxxxx
                                                                          fmaxp.  */
                                                                       return 536;
                                                                     }
@@ -15682,7 +16133,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0111110xx011x1011100xx
+                                                                         xx0011101x110xx0111110xxxxxxxxxx
                                                                          fminv.  */
                                                                       return 41;
                                                                     }
@@ -15690,7 +16141,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0111110xx011x1011101xx
+                                                                         xx1011101x110xx0111110xxxxxxxxxx
                                                                          fminv.  */
                                                                       return 40;
                                                                     }
@@ -15701,7 +16152,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0111110xx011x1011110xx
+                                                                         xx0111101x110xx0111110xxxxxxxxxx
                                                                          fminp.  */
                                                                       return 541;
                                                                     }
@@ -15709,7 +16160,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         xxxxxxxxxx0111110xx011x1011111xx
+                                                                         xx1111101x110xx0111110xxxxxxxxxx
                                                                          fminp.  */
                                                                       return 540;
                                                                     }
@@ -15723,7 +16174,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111110xx1x1xx0111x0xx
+                                                             xx0x1110xx1x1xx0111110xxxxxxxxxx
                                                              fabs.  */
                                                           return 195;
                                                         }
@@ -15731,7 +16182,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111110xx1x1xx0111x1xx
+                                                             xx1x1110xx1x1xx0111110xxxxxxxxxx
                                                              fneg.  */
                                                           return 244;
                                                         }
@@ -15745,7 +16196,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111111xx0x1xx01110xxx
+                                                             xxx01110xx1x0xx1111110xxxxxxxxxx
                                                              fsqrt.  */
                                                           return 254;
                                                         }
@@ -15753,7 +16204,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111111xx0x1xx01111xxx
+                                                             xxx11110xx1x0xx1111110xxxxxxxxxx
                                                              frecpx.  */
                                                           return 501;
                                                         }
@@ -15764,7 +16215,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111111xx1x1xx01110xxx
+                                                             xxx01110xx1x1xx1111110xxxxxxxxxx
                                                              fsqrt.  */
                                                           return 255;
                                                         }
@@ -15772,7 +16223,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111111xx1x1xx01111xxx
+                                                             xxx11110xx1x1xx1111110xxxxxxxxxx
                                                              frecpx.  */
                                                           return 502;
                                                         }
@@ -15802,7 +16253,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx100000xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx000001xxxxxxxxxx
                                                          shadd.  */
                                                       return 262;
                                                     }
@@ -15810,7 +16261,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx100000xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx000001xxxxxxxxxx
                                                          uhadd.  */
                                                       return 314;
                                                     }
@@ -15821,7 +16272,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx100001xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx100001xxxxxxxxxx
                                                          add.  */
                                                       return 277;
                                                     }
@@ -15829,7 +16280,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx100001xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx100001xxxxxxxxxx
                                                          sub.  */
                                                       return 329;
                                                     }
@@ -15843,7 +16294,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx100010xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx010001xxxxxxxxxx
                                                          sshl.  */
                                                       return 269;
                                                     }
@@ -15851,7 +16302,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx100010xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx010001xxxxxxxxxx
                                                          ushl.  */
                                                       return 321;
                                                     }
@@ -15864,7 +16315,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx100011xxxxx1x0011100xx
+                                                             xx0011100x1xxxxx110001xxxxxxxxxx
                                                              fmaxnm.  */
                                                           return 285;
                                                         }
@@ -15872,7 +16323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx100011xxxxx1x0011101xx
+                                                             xx1011100x1xxxxx110001xxxxxxxxxx
                                                              fmaxnmp.  */
                                                           return 336;
                                                         }
@@ -15883,7 +16334,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx100011xxxxx1x1011100xx
+                                                             xx0011101x1xxxxx110001xxxxxxxxxx
                                                              fminnm.  */
                                                           return 301;
                                                         }
@@ -15891,7 +16342,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx100011xxxxx1x1011101xx
+                                                             xx1011101x1xxxxx110001xxxxxxxxxx
                                                              fminnmp.  */
                                                           return 352;
                                                         }
@@ -15909,7 +16360,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx100100xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx001001xxxxxxxxxx
                                                          shsub.  */
                                                       return 265;
                                                     }
@@ -15917,7 +16368,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx100100xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx001001xxxxxxxxxx
                                                          uhsub.  */
                                                       return 317;
                                                     }
@@ -15928,7 +16379,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx100101xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx101001xxxxxxxxxx
                                                          smaxp.  */
                                                       return 281;
                                                     }
@@ -15936,7 +16387,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx100101xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx101001xxxxxxxxxx
                                                          umaxp.  */
                                                       return 333;
                                                     }
@@ -15950,7 +16401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx100110xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx011001xxxxxxxxxx
                                                          smax.  */
                                                       return 273;
                                                     }
@@ -15958,7 +16409,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx100110xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx011001xxxxxxxxxx
                                                          umax.  */
                                                       return 325;
                                                     }
@@ -15971,7 +16422,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx100111xxxxx1x0011100xx
+                                                             xx0011100x1xxxxx111001xxxxxxxxxx
                                                              fcmeq.  */
                                                           return 293;
                                                         }
@@ -15979,7 +16430,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx100111xxxxx1x0011101xx
+                                                             xx1011100x1xxxxx111001xxxxxxxxxx
                                                              fcmge.  */
                                                           return 342;
                                                         }
@@ -15988,7 +16439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx100111xxxxx1x101110xxx
+                                                         xxx011101x1xxxxx111001xxxxxxxxxx
                                                          fcmgt.  */
                                                       return 356;
                                                     }
@@ -16008,7 +16459,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx101000xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx000101xxxxxxxxxx
                                                          srhadd.  */
                                                       return 264;
                                                     }
@@ -16016,7 +16467,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx101000xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx000101xxxxxxxxxx
                                                          urhadd.  */
                                                       return 316;
                                                     }
@@ -16027,7 +16478,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx101001xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx100101xxxxxxxxxx
                                                          mla.  */
                                                       return 279;
                                                     }
@@ -16035,7 +16486,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx101001xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx100101xxxxxxxxxx
                                                          mls.  */
                                                       return 331;
                                                     }
@@ -16049,7 +16500,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx101010xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx010101xxxxxxxxxx
                                                          srshl.  */
                                                       return 271;
                                                     }
@@ -16057,7 +16508,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx101010xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx010101xxxxxxxxxx
                                                          urshl.  */
                                                       return 323;
                                                     }
@@ -16070,7 +16521,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx101011xxxxx1x0011100xx
+                                                             xx0011100x1xxxxx110101xxxxxxxxxx
                                                              fadd.  */
                                                           return 289;
                                                         }
@@ -16078,7 +16529,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx101011xxxxx1x0011101xx
+                                                             xx1011100x1xxxxx110101xxxxxxxxxx
                                                              faddp.  */
                                                           return 338;
                                                         }
@@ -16089,7 +16540,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx101011xxxxx1x1011100xx
+                                                             xx0011101x1xxxxx110101xxxxxxxxxx
                                                              fsub.  */
                                                           return 305;
                                                         }
@@ -16097,7 +16548,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx101011xxxxx1x1011101xx
+                                                             xx1011101x1xxxxx110101xxxxxxxxxx
                                                              fabd.  */
                                                           return 354;
                                                         }
@@ -16115,7 +16566,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx101100xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx001101xxxxxxxxxx
                                                          cmgt.  */
                                                       return 267;
                                                     }
@@ -16123,7 +16574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx101100xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx001101xxxxxxxxxx
                                                          cmhi.  */
                                                       return 319;
                                                     }
@@ -16134,7 +16585,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx101101xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx101101xxxxxxxxxx
                                                          sqdmulh.  */
                                                       return 283;
                                                     }
@@ -16142,7 +16593,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx101101xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx101101xxxxxxxxxx
                                                          sqrdmulh.  */
                                                       return 335;
                                                     }
@@ -16156,7 +16607,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx101110xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx011101xxxxxxxxxx
                                                          sabd.  */
                                                       return 275;
                                                     }
@@ -16164,7 +16615,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx101110xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx011101xxxxxxxxxx
                                                          uabd.  */
                                                       return 327;
                                                     }
@@ -16177,7 +16628,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx101111xxxxx1x0011100xx
+                                                             xx0011100x1xxxxx111101xxxxxxxxxx
                                                              fmax.  */
                                                           return 295;
                                                         }
@@ -16185,7 +16636,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx101111xxxxx1x0011101xx
+                                                             xx1011100x1xxxxx111101xxxxxxxxxx
                                                              fmaxp.  */
                                                           return 346;
                                                         }
@@ -16196,7 +16647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx101111xxxxx1x1011100xx
+                                                             xx0011101x1xxxxx111101xxxxxxxxxx
                                                              fmin.  */
                                                           return 307;
                                                         }
@@ -16204,7 +16655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx101111xxxxx1x1011101xx
+                                                             xx1011101x1xxxxx111101xxxxxxxxxx
                                                              fminp.  */
                                                           return 360;
                                                         }
@@ -16224,7 +16675,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxx0xxxxx10xxxxxxxxx1xx0111100x
+                                                 x0011110xx1xxxxxxxxx01xxxxx0xxxx
                                                  fccmp.  */
                                               return 787;
                                             }
@@ -16232,7 +16683,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxx1xxxxx10xxxxxxxxx1xx0111100x
+                                                 x0011110xx1xxxxxxxxx01xxxxx1xxxx
                                                  fccmpe.  */
                                               return 789;
                                             }
@@ -16247,7 +16698,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx10000xxxxxx1xx0111101x
+                                                         x1011110xx1xxxxxx00001xxxxxxxxxx
                                                          add.  */
                                                       return 559;
                                                     }
@@ -16255,7 +16706,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx10001xxxxxx1xx0111101x
+                                                         x1011110xx1xxxxxx10001xxxxxxxxxx
                                                          sshl.  */
                                                       return 557;
                                                     }
@@ -16264,7 +16715,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1001xxxxxxx1xx0111101x
+                                                     x1011110xx1xxxxxxx1001xxxxxxxxxx
                                                      fcmeq.  */
                                                   return 549;
                                                 }
@@ -16275,7 +16726,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1010xxxxxxx1xx0111101x
+                                                     x1011110xx1xxxxxxx0101xxxxxxxxxx
                                                      srshl.  */
                                                   return 558;
                                                 }
@@ -16285,7 +16736,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1011x0xxxxx1xx0111101x
+                                                         x1011110xx1xxxxx0x1101xxxxxxxxxx
                                                          cmgt.  */
                                                       return 555;
                                                     }
@@ -16293,7 +16744,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1011x1xxxxx1xx0111101x
+                                                         x1011110xx1xxxxx1x1101xxxxxxxxxx
                                                          sqdmulh.  */
                                                       return 546;
                                                     }
@@ -16311,7 +16762,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx10000xxxxxx1xx011111xx
+                                                     xx111110xx1xxxxxx00001xxxxxxxxxx
                                                      sub.  */
                                                   return 580;
                                                 }
@@ -16319,7 +16770,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx10001xxxxxx1xx011111xx
+                                                     xx111110xx1xxxxxx10001xxxxxxxxxx
                                                      ushl.  */
                                                   return 578;
                                                 }
@@ -16330,7 +16781,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1001xxxxxxx1x0011111xx
+                                                     xx1111100x1xxxxxxx1001xxxxxxxxxx
                                                      fcmge.  */
                                                   return 566;
                                                 }
@@ -16338,7 +16789,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1001xxxxxxx1x1011111xx
+                                                     xx1111101x1xxxxxxx1001xxxxxxxxxx
                                                      fcmgt.  */
                                                   return 572;
                                                 }
@@ -16352,7 +16803,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1010x0xxxxx1xx011111xx
+                                                     xx111110xx1xxxxx0x0101xxxxxxxxxx
                                                      urshl.  */
                                                   return 579;
                                                 }
@@ -16360,7 +16811,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1010x1xxxxx1xx011111xx
+                                                     xx111110xx1xxxxx1x0101xxxxxxxxxx
                                                      fabd.  */
                                                   return 570;
                                                 }
@@ -16371,7 +16822,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1011x0xxxxx1xx011111xx
+                                                     xx111110xx1xxxxx0x1101xxxxxxxxxx
                                                      cmhi.  */
                                                   return 576;
                                                 }
@@ -16379,7 +16830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1011x1xxxxx1xx011111xx
+                                                     xx111110xx1xxxxx1x1101xxxxxxxxxx
                                                      sqrdmulh.  */
                                                   return 565;
                                                 }
@@ -16404,7 +16855,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110000xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx000011xxxxxxxxxx
                                                          sqadd.  */
                                                       return 263;
                                                     }
@@ -16412,7 +16863,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110000xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx000011xxxxxxxxxx
                                                          uqadd.  */
                                                       return 315;
                                                     }
@@ -16423,7 +16874,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110001xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx100011xxxxxxxxxx
                                                          cmtst.  */
                                                       return 278;
                                                     }
@@ -16431,7 +16882,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110001xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx100011xxxxxxxxxx
                                                          cmeq.  */
                                                       return 330;
                                                     }
@@ -16445,7 +16896,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110010xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx010011xxxxxxxxxx
                                                          sqshl.  */
                                                       return 270;
                                                     }
@@ -16453,7 +16904,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110010xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx010011xxxxxxxxxx
                                                          uqshl.  */
                                                       return 322;
                                                     }
@@ -16464,7 +16915,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110011xxxxx1x001110xxx
+                                                         xxx011100x1xxxxx110011xxxxxxxxxx
                                                          fmla.  */
                                                       return 287;
                                                     }
@@ -16472,7 +16923,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110011xxxxx1x101110xxx
+                                                         xxx011101x1xxxxx110011xxxxxxxxxx
                                                          fmls.  */
                                                       return 303;
                                                     }
@@ -16489,7 +16940,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110100xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx001011xxxxxxxxxx
                                                          sqsub.  */
                                                       return 266;
                                                     }
@@ -16497,7 +16948,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110100xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx001011xxxxxxxxxx
                                                          uqsub.  */
                                                       return 318;
                                                     }
@@ -16508,7 +16959,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110101xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx101011xxxxxxxxxx
                                                          sminp.  */
                                                       return 282;
                                                     }
@@ -16516,7 +16967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110101xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx101011xxxxxxxxxx
                                                          uminp.  */
                                                       return 334;
                                                     }
@@ -16530,7 +16981,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110110xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx011011xxxxxxxxxx
                                                          smin.  */
                                                       return 274;
                                                     }
@@ -16538,7 +16989,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110110xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx011011xxxxxxxxxx
                                                          umin.  */
                                                       return 326;
                                                     }
@@ -16549,7 +17000,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110111xxxxx1x001110xxx
+                                                         xxx011100x1xxxxx111011xxxxxxxxxx
                                                          facge.  */
                                                       return 344;
                                                     }
@@ -16557,7 +17008,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110111xxxxx1x101110xxx
+                                                         xxx011101x1xxxxx111011xxxxxxxxxx
                                                          facgt.  */
                                                       return 358;
                                                     }
@@ -16581,7 +17032,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx111000xxxxx100011100xx
+                                                                 xx001110001xxxxx000111xxxxxxxxxx
                                                                  and.  */
                                                               return 299;
                                                             }
@@ -16589,7 +17040,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx111000xxxxx100011101xx
+                                                                 xx101110001xxxxx000111xxxxxxxxxx
                                                                  eor.  */
                                                               return 350;
                                                             }
@@ -16600,7 +17051,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx111000xxxxx101011100xx
+                                                                 xx001110101xxxxx000111xxxxxxxxxx
                                                                  orr.  */
                                                               return 311;
                                                             }
@@ -16608,7 +17059,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx111000xxxxx101011101xx
+                                                                 xx101110101xxxxx000111xxxxxxxxxx
                                                                  bit.  */
                                                               return 362;
                                                             }
@@ -16622,7 +17073,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx111000xxxxx110011100xx
+                                                                 xx001110011xxxxx000111xxxxxxxxxx
                                                                  bic.  */
                                                               return 300;
                                                             }
@@ -16630,7 +17081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx111000xxxxx110011101xx
+                                                                 xx101110011xxxxx000111xxxxxxxxxx
                                                                  bsl.  */
                                                               return 351;
                                                             }
@@ -16641,7 +17092,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx111000xxxxx111011100xx
+                                                                 xx001110111xxxxx000111xxxxxxxxxx
                                                                  orn.  */
                                                               return 313;
                                                             }
@@ -16649,7 +17100,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx111000xxxxx111011101xx
+                                                                 xx101110111xxxxx000111xxxxxxxxxx
                                                                  bif.  */
                                                               return 363;
                                                             }
@@ -16662,7 +17113,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx111001xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx100111xxxxxxxxxx
                                                          mul.  */
                                                       return 280;
                                                     }
@@ -16670,7 +17121,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx111001xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx100111xxxxxxxxxx
                                                          pmul.  */
                                                       return 332;
                                                     }
@@ -16684,7 +17135,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx111010xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx010111xxxxxxxxxx
                                                          sqrshl.  */
                                                       return 272;
                                                     }
@@ -16692,7 +17143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx111010xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx010111xxxxxxxxxx
                                                          uqrshl.  */
                                                       return 324;
                                                     }
@@ -16703,7 +17154,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx111011xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx110111xxxxxxxxxx
                                                          fmulx.  */
                                                       return 291;
                                                     }
@@ -16711,7 +17162,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx111011xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx110111xxxxxxxxxx
                                                          fmul.  */
                                                       return 340;
                                                     }
@@ -16728,7 +17179,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx111100xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx001111xxxxxxxxxx
                                                          cmge.  */
                                                       return 268;
                                                     }
@@ -16736,7 +17187,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx111100xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx001111xxxxxxxxxx
                                                          cmhs.  */
                                                       return 320;
                                                     }
@@ -16745,7 +17196,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx111101xxxxx1xx01110xxx
+                                                     xxx01110xx1xxxxx101111xxxxxxxxxx
                                                      addp.  */
                                                   return 284;
                                                 }
@@ -16758,7 +17209,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx111110xxxxx1xx011100xx
+                                                         xx001110xx1xxxxx011111xxxxxxxxxx
                                                          saba.  */
                                                       return 276;
                                                     }
@@ -16766,7 +17217,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx111110xxxxx1xx011101xx
+                                                         xx101110xx1xxxxx011111xxxxxxxxxx
                                                          uaba.  */
                                                       return 328;
                                                     }
@@ -16779,7 +17230,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx111111xxxxx1x0011100xx
+                                                             xx0011100x1xxxxx111111xxxxxxxxxx
                                                              frecps.  */
                                                           return 297;
                                                         }
@@ -16787,7 +17238,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx111111xxxxx1x0011101xx
+                                                             xx1011100x1xxxxx111111xxxxxxxxxx
                                                              fdiv.  */
                                                           return 348;
                                                         }
@@ -16796,7 +17247,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx111111xxxxx1x101110xxx
+                                                         xxx011101x1xxxxx111111xxxxxxxxxx
                                                          frsqrts.  */
                                                       return 309;
                                                     }
@@ -16813,7 +17264,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx11xxxxxxxxx1xx0111100x
+                                             x0011110xx1xxxxxxxxx11xxxxxxxxxx
                                              fcsel.  */
                                           return 850;
                                         }
@@ -16829,7 +17280,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx110000xxxxx1xx0111101x
+                                                             x1011110xx1xxxxx000011xxxxxxxxxx
                                                              sqadd.  */
                                                           return 542;
                                                         }
@@ -16837,7 +17288,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx110001xxxxx1xx0111101x
+                                                             x1011110xx1xxxxx100011xxxxxxxxxx
                                                              cmtst.  */
                                                           return 560;
                                                         }
@@ -16846,7 +17297,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx11001xxxxxx1xx0111101x
+                                                         x1011110xx1xxxxxx10011xxxxxxxxxx
                                                          sqshl.  */
                                                       return 544;
                                                     }
@@ -16855,7 +17306,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1101xxxxxxx1xx0111101x
+                                                     x1011110xx1xxxxxxx1011xxxxxxxxxx
                                                      sqsub.  */
                                                   return 543;
                                                 }
@@ -16868,7 +17319,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1110x0xxxxx1xx0111101x
+                                                         x1011110xx1xxxxx0x0111xxxxxxxxxx
                                                          sqrshl.  */
                                                       return 545;
                                                     }
@@ -16876,7 +17327,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx1110x1xxxxx1xx0111101x
+                                                         x1011110xx1xxxxx1x0111xxxxxxxxxx
                                                          fmulx.  */
                                                       return 547;
                                                     }
@@ -16887,7 +17338,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx11110xxxxxx1xx0111101x
+                                                         x1011110xx1xxxxxx01111xxxxxxxxxx
                                                          cmge.  */
                                                       return 556;
                                                     }
@@ -16897,7 +17348,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx11111xxxxxx1x00111101x
+                                                             x10111100x1xxxxxx11111xxxxxxxxxx
                                                              frecps.  */
                                                           return 551;
                                                         }
@@ -16905,7 +17356,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx11111xxxxxx1x10111101x
+                                                             x10111101x1xxxxxx11111xxxxxxxxxx
                                                              frsqrts.  */
                                                           return 553;
                                                         }
@@ -16926,7 +17377,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110000xxxxx1xx011111xx
+                                                         xx111110xx1xxxxx000011xxxxxxxxxx
                                                          uqadd.  */
                                                       return 561;
                                                     }
@@ -16934,7 +17385,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx110001xxxxx1xx011111xx
+                                                         xx111110xx1xxxxx100011xxxxxxxxxx
                                                          cmeq.  */
                                                       return 581;
                                                     }
@@ -16943,7 +17394,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx11001xxxxxx1xx011111xx
+                                                     xx111110xx1xxxxxx10011xxxxxxxxxx
                                                      uqshl.  */
                                                   return 563;
                                                 }
@@ -16954,7 +17405,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx11010xxxxxx1xx011111xx
+                                                     xx111110xx1xxxxxx01011xxxxxxxxxx
                                                      uqsub.  */
                                                   return 562;
                                                 }
@@ -16964,7 +17415,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx11011xxxxxx1x0011111xx
+                                                         xx1111100x1xxxxxx11011xxxxxxxxxx
                                                          facge.  */
                                                       return 568;
                                                     }
@@ -16972,7 +17423,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx11011xxxxxx1x1011111xx
+                                                         xx1111101x1xxxxxx11011xxxxxxxxxx
                                                          facgt.  */
                                                       return 574;
                                                     }
@@ -16985,7 +17436,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx1110xxxxxxx1xx011111xx
+                                                 xx111110xx1xxxxxxx0111xxxxxxxxxx
                                                  uqrshl.  */
                                               return 564;
                                             }
@@ -16993,7 +17444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx1111xxxxxxx1xx011111xx
+                                                 xx111110xx1xxxxxxx1111xxxxxxxxxx
                                                  cmhs.  */
                                               return 577;
                                             }
@@ -17020,7 +17471,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx0x0000xxxxxxxx11110xxx
+                                             xxx01111xxxxxxxx0000x0xxxxxxxxxx
                                              mla.  */
                                           return 117;
                                         }
@@ -17028,7 +17479,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx0x0010xxxxxxxx11110xxx
+                                             xxx01111xxxxxxxx0100x0xxxxxxxxxx
                                              mls.  */
                                           return 120;
                                         }
@@ -17043,7 +17494,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x0100xxxxxxxx1111000x
+                                                     x0001111xxxxxxxx0010x0xxxxxxxxxx
                                                      smlal.  */
                                                   return 96;
                                                 }
@@ -17051,7 +17502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x0100xxxxxxxx1111001x
+                                                     x1001111xxxxxxxx0010x0xxxxxxxxxx
                                                      smlal2.  */
                                                   return 97;
                                                 }
@@ -17062,7 +17513,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x0100xxxxxxxx1111010x
+                                                     x0101111xxxxxxxx0010x0xxxxxxxxxx
                                                      umlal.  */
                                                   return 118;
                                                 }
@@ -17070,7 +17521,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x0100xxxxxxxx1111011x
+                                                     x1101111xxxxxxxx0010x0xxxxxxxxxx
                                                      umlal2.  */
                                                   return 119;
                                                 }
@@ -17084,7 +17535,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x0110xxxxxxxx1111000x
+                                                     x0001111xxxxxxxx0110x0xxxxxxxxxx
                                                      smlsl.  */
                                                   return 100;
                                                 }
@@ -17092,7 +17543,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x0110xxxxxxxx1111001x
+                                                     x1001111xxxxxxxx0110x0xxxxxxxxxx
                                                      smlsl2.  */
                                                   return 101;
                                                 }
@@ -17103,7 +17554,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x0110xxxxxxxx1111010x
+                                                     x0101111xxxxxxxx0110x0xxxxxxxxxx
                                                      umlsl.  */
                                                   return 121;
                                                 }
@@ -17111,7 +17562,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x0110xxxxxxxx1111011x
+                                                     x1101111xxxxxxxx0110x0xxxxxxxxxx
                                                      umlsl2.  */
                                                   return 122;
                                                 }
@@ -17131,7 +17582,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x1000xxxxxxx0111100xx
+                                                     xx0011110xxxxxxx0001x0xxxxxxxxxx
                                                      fmla.  */
                                                   return 112;
                                                 }
@@ -17139,7 +17590,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x1000xxxxxxx1111100xx
+                                                     xx0011111xxxxxxx0001x0xxxxxxxxxx
                                                      fmla.  */
                                                   return 111;
                                                 }
@@ -17150,7 +17601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x1010xxxxxxx0111100xx
+                                                     xx0011110xxxxxxx0101x0xxxxxxxxxx
                                                      fmls.  */
                                                   return 114;
                                                 }
@@ -17158,7 +17609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x1010xxxxxxx1111100xx
+                                                     xx0011111xxxxxxx0101x0xxxxxxxxxx
                                                      fmls.  */
                                                   return 113;
                                                 }
@@ -17172,7 +17623,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x1100xxxxxxxx1111000x
+                                                     x0001111xxxxxxxx0011x0xxxxxxxxxx
                                                      sqdmlal.  */
                                                   return 98;
                                                 }
@@ -17180,7 +17631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x1100xxxxxxxx1111001x
+                                                     x1001111xxxxxxxx0011x0xxxxxxxxxx
                                                      sqdmlal2.  */
                                                   return 99;
                                                 }
@@ -17191,7 +17642,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x1110xxxxxxxx1111000x
+                                                     x0001111xxxxxxxx0111x0xxxxxxxxxx
                                                      sqdmlsl.  */
                                                   return 102;
                                                 }
@@ -17199,7 +17650,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x1110xxxxxxxx1111001x
+                                                     x1001111xxxxxxxx0111x0xxxxxxxxxx
                                                      sqdmlsl2.  */
                                                   return 103;
                                                 }
@@ -17210,7 +17661,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx0x1xx0xxxxxxxx111101xx
+                                         xx101111xxxxxxxx0xx1x0xxxxxxxxxx
                                          fcmla.  */
                                       return 129;
                                     }
@@ -17224,7 +17675,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx1x0xx0xxxxxxxx111100xx
+                                         xx001111xxxxxxxx0xx0x1xxxxxxxxxx
                                          movi.  */
                                       return 131;
                                     }
@@ -17232,7 +17683,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx1x0xx0xxxxxxxx111101xx
+                                         xx101111xxxxxxxx0xx0x1xxxxxxxxxx
                                          mvni.  */
                                       return 139;
                                     }
@@ -17243,7 +17694,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx1x1xx0xxxxxxxx111100xx
+                                         xx001111xxxxxxxx0xx1x1xxxxxxxxxx
                                          orr.  */
                                       return 132;
                                     }
@@ -17251,7 +17702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx1x1xx0xxxxxxxx111101xx
+                                         xx101111xxxxxxxx0xx1x1xxxxxxxxxx
                                          bic.  */
                                       return 140;
                                     }
@@ -17268,7 +17719,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxx0xxxxx0xx1111100x
+                                         x0011111xx0xxxxx0xxxxxxxxxxxxxxx
                                          fmadd.  */
                                       return 840;
                                     }
@@ -17276,7 +17727,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxx0xxxxx1xx1111100x
+                                         x0011111xx1xxxxx0xxxxxxxxxxxxxxx
                                          fnmadd.  */
                                       return 844;
                                     }
@@ -17293,7 +17744,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0xx000xxxxxxx01111101x
+                                                     x10111110xxxxxxx000xx0xxxxxxxxxx
                                                      fmla.  */
                                                   return 425;
                                                 }
@@ -17301,7 +17752,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0xx000xxxxxxx11111101x
+                                                     x10111111xxxxxxx000xx0xxxxxxxxxx
                                                      fmla.  */
                                                   return 424;
                                                 }
@@ -17312,7 +17763,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0xx010xxxxxxx01111101x
+                                                     x10111110xxxxxxx010xx0xxxxxxxxxx
                                                      fmls.  */
                                                   return 427;
                                                 }
@@ -17320,7 +17771,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0xx010xxxxxxx11111101x
+                                                     x10111111xxxxxxx010xx0xxxxxxxxxx
                                                      fmls.  */
                                                   return 426;
                                                 }
@@ -17332,7 +17783,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx0xx100xxxxxxxx1111101x
+                                                 x1011111xxxxxxxx001xx0xxxxxxxxxx
                                                  sqdmlal.  */
                                               return 419;
                                             }
@@ -17340,7 +17791,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx0xx110xxxxxxxx1111101x
+                                                 x1011111xxxxxxxx011xx0xxxxxxxxxx
                                                  sqdmlsl.  */
                                               return 420;
                                             }
@@ -17354,7 +17805,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx1x00x0xxxxxxxx1111101x
+                                                 x1011111xxxxxxxx0x00x1xxxxxxxxxx
                                                  sshr.  */
                                               return 584;
                                             }
@@ -17362,7 +17813,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx1x01x0xxxxxxxx1111101x
+                                                 x1011111xxxxxxxx0x10x1xxxxxxxxxx
                                                  srshr.  */
                                               return 586;
                                             }
@@ -17375,7 +17826,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1x1000xxxxxxxx1111101x
+                                                     x1011111xxxxxxxx0001x1xxxxxxxxxx
                                                      ssra.  */
                                                   return 585;
                                                 }
@@ -17383,7 +17834,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1x1010xxxxxxxx1111101x
+                                                     x1011111xxxxxxxx0101x1xxxxxxxxxx
                                                      shl.  */
                                                   return 588;
                                                 }
@@ -17394,7 +17845,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1x1100xxxxxxxx1111101x
+                                                     x1011111xxxxxxxx0011x1xxxxxxxxxx
                                                      srsra.  */
                                                   return 587;
                                                 }
@@ -17402,7 +17853,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1x1110xxxxxxxx1111101x
+                                                     x1011111xxxxxxxx0111x1xxxxxxxxxx
                                                      sqshl.  */
                                                   return 589;
                                                 }
@@ -17421,7 +17872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxx0000xxxxxxxx111111xx
+                                             xx111111xxxxxxxx0000xxxxxxxxxxxx
                                              ushr.  */
                                           return 596;
                                         }
@@ -17429,7 +17880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxx0010xxxxxxxx111111xx
+                                             xx111111xxxxxxxx0100xxxxxxxxxxxx
                                              sri.  */
                                           return 600;
                                         }
@@ -17440,7 +17891,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxx0100xxxxxxxx111111xx
+                                             xx111111xxxxxxxx0010xxxxxxxxxxxx
                                              urshr.  */
                                           return 598;
                                         }
@@ -17448,7 +17899,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxx0110xxxxxxxx111111xx
+                                             xx111111xxxxxxxx0110xxxxxxxxxxxx
                                              sqshlu.  */
                                           return 602;
                                         }
@@ -17462,7 +17913,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxx1000xxxxxxxx111111xx
+                                             xx111111xxxxxxxx0001xxxxxxxxxxxx
                                              usra.  */
                                           return 597;
                                         }
@@ -17470,7 +17921,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxx1010xxxxxxxx111111xx
+                                             xx111111xxxxxxxx0101xxxxxxxxxxxx
                                              sli.  */
                                           return 601;
                                         }
@@ -17481,7 +17932,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxx1100xxxxxxxx111111xx
+                                             xx111111xxxxxxxx0011xxxxxxxxxxxx
                                              ursra.  */
                                           return 599;
                                         }
@@ -17489,7 +17940,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxx1110xxxxxxxx111111xx
+                                             xx111111xxxxxxxx0111xxxxxxxxxxxx
                                              uqshl.  */
                                           return 603;
                                         }
@@ -17502,76 +17953,65 @@ 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
-                                             xxxxxxxxxx0x0001xxxxxxxx11110xxx
+                                             xxx01111xxxxxxxx1000x0xxxxxxxxxx
                                              mul.  */
                                           return 104;
                                         }
                                       else
                                         {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxxxxxxxx0x0011xxxxxxxx11110xxx
-                                             sqdmulh.  */
-                                          return 109;
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 29) & 0x1) == 0)
-                                        {
-                                          if (((word >> 30) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x01x1xxxxxxxx1111000x
-                                                 smull.  */
-                                              return 105;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x01x1xxxxxxxx1111001x
-                                                 smull2.  */
-                                              return 106;
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 30) & 0x1) == 0)
+                                          if (((word >> 29) & 0x1) == 0)
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x01x1xxxxxxxx1111010x
-                                                 umull.  */
-                                              return 123;
+                                              if (((word >> 30) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x0001111xxxxxxxx1010x0xxxxxxxxxx
+                                                     smull.  */
+                                                  return 105;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x1001111xxxxxxxx1010x0xxxxxxxxxx
+                                                     smull2.  */
+                                                  return 106;
+                                                }
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x01x1xxxxxxxx1111011x
-                                                 umull2.  */
-                                              return 124;
+                                              if (((word >> 30) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x0101111xxxxxxxx1010x0xxxxxxxxxx
+                                                     umull.  */
+                                                  return 123;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x1101111xxxxxxxx1010x0xxxxxxxxxx
+                                                     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)
                                             {
@@ -17579,7 +18019,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x1001xxxxxxx0111100xx
+                                                     xx0011110xxxxxxx1001x0xxxxxxxxxx
                                                      fmul.  */
                                                   return 116;
                                                 }
@@ -17587,7 +18027,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x1001xxxxxxx0111101xx
+                                                     xx1011110xxxxxxx1001x0xxxxxxxxxx
                                                      fmulx.  */
                                                   return 126;
                                                 }
@@ -17598,7 +18038,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x1001xxxxxxx1111100xx
+                                                     xx0011111xxxxxxx1001x0xxxxxxxxxx
                                                      fmul.  */
                                                   return 115;
                                                 }
@@ -17606,7 +18046,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x1001xxxxxxx1111101xx
+                                                     xx1011111xxxxxxx1001x0xxxxxxxxxx
                                                      fmulx.  */
                                                   return 125;
                                                 }
@@ -17614,33 +18054,11 @@ 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)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx0x1101xxxxxxxx11110x0x
+                                                 x0x01111xxxxxxxx1011x0xxxxxxxxxx
                                                  sqdmull.  */
                                               return 107;
                                             }
@@ -17648,27 +18066,16 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx0x1101xxxxxxxx11110x1x
+                                                 x1x01111xxxxxxxx1011x0xxxxxxxxxx
                                                  sqdmull2.  */
                                               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)
                                         {
@@ -17676,7 +18083,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx100x01xxxxxxxx111100xx
+                                                 xx001111xxxxxxxx10x001xxxxxxxxxx
                                                  movi.  */
                                               return 133;
                                             }
@@ -17684,7 +18091,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx100x01xxxxxxxx111101xx
+                                                 xx101111xxxxxxxx10x001xxxxxxxxxx
                                                  mvni.  */
                                               return 141;
                                             }
@@ -17695,7 +18102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx101x01xxxxxxxx111100xx
+                                                 xx001111xxxxxxxx10x101xxxxxxxxxx
                                                  orr.  */
                                               return 134;
                                             }
@@ -17703,7 +18110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx101x01xxxxxxxx111101xx
+                                                 xx101111xxxxxxxx10x101xxxxxxxxxx
                                                  bic.  */
                                               return 142;
                                             }
@@ -17711,173 +18118,217 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     }
                                   else
                                     {
-                                      if (((word >> 13) & 0x1) == 0)
+                                      if (((word >> 12) & 0x1) == 0)
                                         {
                                           if (((word >> 29) & 0x1) == 0)
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx10x011xxxxxxxx111100xx
-                                                 movi.  */
-                                              return 135;
+                                              if (((word >> 30) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x0001111xxxxxxxx10x011xxxxxxxxxx
+                                                     rshrn.  */
+                                                  return 376;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x1001111xxxxxxxx10x011xxxxxxxxxx
+                                                     rshrn2.  */
+                                                  return 377;
+                                                }
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx10x011xxxxxxxx111101xx
-                                                 mvni.  */
-                                              return 143;
+                                              if (((word >> 30) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x0101111xxxxxxxx10x011xxxxxxxxxx
+                                                     sqrshrun.  */
+                                                  return 400;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     x1101111xxxxxxxx10x011xxxxxxxxxx
+                                                     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 136;
+                                                     x0001111xxxxxxxx10x111xxxxxxxxxx
+                                                     sqrshrn.  */
+                                                  return 380;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx100111xxxxxxxx111101xx
-                                                     movi.  */
-                                                  return 144;
+                                                     x1001111xxxxxxxx10x111xxxxxxxxxx
+                                                     sqrshrn2.  */
+                                                  return 381;
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 29) & 0x1) == 0)
+                                              if (((word >> 30) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx101111xxxxxxxx111100xx
-                                                     fmov.  */
-                                                  return 137;
+                                                     x0101111xxxxxxxx10x111xxxxxxxxxx
+                                                     uqrshrn.  */
+                                                  return 404;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx101111xxxxxxxx111101xx
-                                                     fmov.  */
-                                                  return 146;
+                                                     x1101111xxxxxxxx10x111xxxxxxxxxx
+                                                     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)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxx01111xxxxxxxx1100x0xxxxxxxxxx
+                                             sqdmulh.  */
+                                          return 109;
+                                        }
+                                      else
                                         {
-                                          if (((word >> 30) & 0x1) == 0)
+                                          if (((word >> 29) & 0x1) == 0)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx110xx1xxxxxxxx1111000x
-                                                 rshrn.  */
-                                              return 376;
+                                                 xx001111xxxxxxxx1101x0xxxxxxxxxx
+                                                 sqrdmulh.  */
+                                              return 110;
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx110xx1xxxxxxxx1111001x
-                                                 rshrn2.  */
-                                              return 377;
+                                                 xx101111xxxxxxxx1101x0xxxxxxxxxx
+                                                 sqrdmlah.  */
+                                              return 127;
                                             }
                                         }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 29) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xx001111xxxxxxxx110xx1xxxxxxxxxx
+                                             movi.  */
+                                          return 135;
+                                        }
                                       else
                                         {
-                                          if (((word >> 30) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx110xx1xxxxxxxx1111010x
-                                                 sqrshrun.  */
-                                              return 400;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx110xx1xxxxxxxx1111011x
-                                                 sqrshrun2.  */
-                                              return 401;
-                                            }
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xx101111xxxxxxxx110xx1xxxxxxxxxx
+                                             mvni.  */
+                                          return 143;
+                                        }
+                                    }
+                                }
+                              else
+                                {
+                                  if (((word >> 12) & 0x1) == 0)
+                                    {
+                                      if (((word >> 29) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xx001111xxxxxxxx1110xxxxxxxxxxxx
+                                             movi.  */
+                                          return 136;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xx101111xxxxxxxx1110xxxxxxxxxxxx
+                                             movi.  */
+                                          return 144;
                                         }
                                     }
                                   else
                                     {
-                                      if (((word >> 13) & 0x1) == 0)
+                                      if (((word >> 10) & 0x1) == 0)
                                         {
-                                          if (((word >> 29) & 0x1) == 0)
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxx01111xxxxxxxx1111x0xxxxxxxxxx
+                                             sqrdmlsh.  */
+                                          return 128;
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 11) & 0x1) == 0)
                                             {
-                                              if (((word >> 30) & 0x1) == 0)
+                                              if (((word >> 29) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1110x1xxxxxxxx1111000x
-                                                     sqrshrn.  */
-                                                  return 380;
+                                                     xx001111xxxxxxxx111101xxxxxxxxxx
+                                                     fmov.  */
+                                                  return 137;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1110x1xxxxxxxx1111001x
-                                                     sqrshrn2.  */
-                                                  return 381;
+                                                     xx101111xxxxxxxx111101xxxxxxxxxx
+                                                     fmov.  */
+                                                  return 146;
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 30) & 0x1) == 0)
+                                              if (((word >> 29) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1110x1xxxxxxxx1111010x
-                                                     uqrshrn.  */
-                                                  return 404;
+                                                     xx001111xxxxxxxx111111xxxxxxxxxx
+                                                     fmov.  */
+                                                  return 138;
                                                 }
                                               else
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx1110x1xxxxxxxx1111011x
-                                                     uqrshrn2.  */
-                                                  return 405;
+                                                     xx101111xxxxxxxx111111xxxxxxxxxx
+                                                     fcvtzu.  */
+                                                  return 412;
                                                 }
                                             }
                                         }
-                                      else
-                                        {
-                                          if (((word >> 29) & 0x1) == 0)
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx1111x1xxxxxxxx111100xx
-                                                 fmov.  */
-                                              return 138;
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx1111x1xxxxxxxx111101xx
-                                                 fcvtzu.  */
-                                              return 412;
-                                            }
-                                        }
                                     }
                                 }
                             }
@@ -17892,7 +18343,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxx1xxxxx0xx1111100x
+                                         x0011111xx0xxxxx1xxxxxxxxxxxxxxx
                                          fmsub.  */
                                       return 842;
                                     }
@@ -17900,7 +18351,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxxxxxxx1xxxxx1xx1111100x
+                                         x0011111xx1xxxxx1xxxxxxxxxxxxxxx
                                          fnmsub.  */
                                       return 846;
                                     }
@@ -17913,7 +18364,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx0x0xx1xxxxxxxx1111101x
+                                             x1011111xxxxxxxx1xx0x0xxxxxxxxxx
                                              sqdmulh.  */
                                           return 422;
                                         }
@@ -17927,7 +18378,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx0x1001xxxxxxx01111101x
+                                                         x10111110xxxxxxx1001x0xxxxxxxxxx
                                                          fmul.  */
                                                       return 429;
                                                     }
@@ -17935,7 +18386,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         xxxxxxxxxx0x1001xxxxxxx11111101x
+                                                         x10111111xxxxxxx1001x0xxxxxxxxxx
                                                          fmul.  */
                                                       return 428;
                                                     }
@@ -17944,7 +18395,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     xxxxxxxxxx0x1011xxxxxxxx1111101x
+                                                     x1011111xxxxxxxx1101x0xxxxxxxxxx
                                                      sqrdmulh.  */
                                                   return 423;
                                                 }
@@ -17953,7 +18404,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx0x11x1xxxxxxxx1111101x
+                                                 x1011111xxxxxxxx1x11x0xxxxxxxxxx
                                                  sqdmull.  */
                                               return 421;
                                             }
@@ -17967,7 +18418,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx100xx1xxxxxxxx1111101x
+                                                 x1011111xxxxxxxx1xx001xxxxxxxxxx
                                                  scvtf.  */
                                               return 592;
                                             }
@@ -17975,7 +18426,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx101xx1xxxxxxxx1111101x
+                                                 x1011111xxxxxxxx1xx101xxxxxxxxxx
                                                  sqshrn.  */
                                               return 590;
                                             }
@@ -17986,7 +18437,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx11x0x1xxxxxxxx1111101x
+                                                 x1011111xxxxxxxx1x0x11xxxxxxxxxx
                                                  sqrshrn.  */
                                               return 591;
                                             }
@@ -17994,7 +18445,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx11x1x1xxxxxxxx1111101x
+                                                 x1011111xxxxxxxx1x1x11xxxxxxxxxx
                                                  fcvtzs.  */
                                               return 594;
                                             }
@@ -18014,7 +18465,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx0xx001xxxxxxx0111111xx
+                                                 xx1111110xxxxxxx100xx0xxxxxxxxxx
                                                  fmulx.  */
                                               return 431;
                                             }
@@ -18022,7 +18473,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx0xx001xxxxxxx1111111xx
+                                                 xx1111111xxxxxxx100xx0xxxxxxxxxx
                                                  fmulx.  */
                                               return 430;
                                             }
@@ -18031,7 +18482,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx0xx011xxxxxxxx111111xx
+                                             xx111111xxxxxxxx110xx0xxxxxxxxxx
                                              sqrdmlah.  */
                                           return 432;
                                         }
@@ -18040,7 +18491,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       /* 33222222222211111111110000000000
                                          10987654321098765432109876543210
-                                         xxxxxxxxxx0xx1x1xxxxxxxx111111xx
+                                         xx111111xxxxxxxx1x1xx0xxxxxxxxxx
                                          sqrdmlsh.  */
                                       return 433;
                                     }
@@ -18055,7 +18506,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx1000x1xxxxxxxx111111xx
+                                                 xx111111xxxxxxxx1x0001xxxxxxxxxx
                                                  sqshrun.  */
                                               return 604;
                                             }
@@ -18063,7 +18514,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx1001x1xxxxxxxx111111xx
+                                                 xx111111xxxxxxxx1x1001xxxxxxxxxx
                                                  ucvtf.  */
                                               return 608;
                                             }
@@ -18072,7 +18523,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx101xx1xxxxxxxx111111xx
+                                             xx111111xxxxxxxx1xx101xxxxxxxxxx
                                              uqshrn.  */
                                           return 606;
                                         }
@@ -18083,7 +18534,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxx110xx1xxxxxxxx111111xx
+                                             xx111111xxxxxxxx1xx011xxxxxxxxxx
                                              sqrshrun.  */
                                           return 605;
                                         }
@@ -18093,7 +18544,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx1110x1xxxxxxxx111111xx
+                                                 xx111111xxxxxxxx1x0111xxxxxxxxxx
                                                  uqrshrn.  */
                                               return 607;
                                             }
@@ -18101,7 +18552,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 xxxxxxxxxx1111x1xxxxxxxx111111xx
+                                                 xx111111xxxxxxxx1x1111xxxxxxxxxx
                                                  fcvtzu.  */
                                               return 610;
                                             }
@@ -18314,11 +18765,13 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
     case 403: return NULL;             /* uqshrn2 --> NULL.  */
     case 136: value = 386; break;      /* movi --> scvtf.  */
     case 386: value = 387; break;      /* scvtf --> scvtf.  */
-    case 387: return NULL;             /* scvtf --> NULL.  */
+    case 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: return NULL;             /* ucvtf --> NULL.  */
+    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.  */
@@ -18446,35 +18899,35 @@ aarch64_find_alias_opcode (const aarch64_opcode *opcode)
     case 1152: value = 1153; break;    /* movz --> mov.  */
     case 1158: value = 1191; break;    /* hint --> autibsp.  */
     case 1176: value = 1180; break;    /* sys --> tlbi.  */
-    case 1239: value = 1934; break;    /* and --> bic.  */
+    case 1239: value = 1973; break;    /* and --> bic.  */
     case 1241: value = 1222; break;    /* and --> mov.  */
     case 1242: value = 1226; break;    /* ands --> movs.  */
-    case 1277: value = 1935; break;    /* cmpge --> cmple.  */
-    case 1280: value = 1938; break;    /* cmpgt --> cmplt.  */
-    case 1282: value = 1936; break;    /* cmphi --> cmplo.  */
-    case 1285: value = 1937; break;    /* cmphs --> cmpls.  */
+    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 = 1945; break;    /* cpy --> fmov.  */
+    case 1309: value = 1984; break;    /* cpy --> fmov.  */
     case 1321: value = 1214; break;    /* dup --> mov.  */
     case 1322: value = 1216; break;    /* dup --> mov.  */
-    case 1323: value = 1944; break;    /* dup --> fmov.  */
+    case 1323: value = 1983; break;    /* dup --> fmov.  */
     case 1324: value = 1217; break;    /* dupm --> mov.  */
-    case 1326: value = 1939; break;    /* eor --> eon.  */
+    case 1326: value = 1978; break;    /* eor --> eon.  */
     case 1328: value = 1227; break;    /* eor --> not.  */
     case 1329: value = 1228; break;    /* eors --> nots.  */
-    case 1334: value = 1940; break;    /* facge --> facle.  */
-    case 1335: value = 1941; break;    /* facgt --> faclt.  */
-    case 1344: value = 1942; break;    /* fcmge --> fcmle.  */
-    case 1346: value = 1943; break;    /* fcmgt --> fcmlt.  */
-    case 1352: value = 1211; break;    /* fcpy --> fmov.  */
-    case 1369: value = 1210; break;    /* fdup --> fmov.  */
-    case 1667: value = 1212; break;    /* orr --> mov.  */
-    case 1668: value = 1946; break;    /* orr --> orn.  */
-    case 1670: value = 1215; break;    /* orr --> mov.  */
-    case 1671: value = 1225; break;    /* orrs --> movs.  */
-    case 1727: value = 1220; break;    /* sel --> mov.  */
-    case 1728: value = 1223; break;    /* sel --> mov.  */
+    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;
     }
 
@@ -18624,38 +19077,38 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode)
     case 1179: value = 1178; break;    /* ic --> dc.  */
     case 1178: value = 1177; break;    /* dc --> at.  */
     case 1177: value = 1176; break;    /* at --> sys.  */
-    case 1934: value = 1239; break;    /* bic --> and.  */
+    case 1973: value = 1239; break;    /* bic --> and.  */
     case 1222: value = 1241; break;    /* mov --> and.  */
     case 1226: value = 1242; break;    /* movs --> ands.  */
-    case 1935: value = 1277; break;    /* cmple --> cmpge.  */
-    case 1938: value = 1280; break;    /* cmplt --> cmpgt.  */
-    case 1936: value = 1282; break;    /* cmplo --> cmphi.  */
-    case 1937: value = 1285; break;    /* cmpls --> cmphs.  */
+    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 1945: value = 1224; break;    /* fmov --> mov.  */
+    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 1944: value = 1218; break;    /* fmov --> mov.  */
+    case 1983: value = 1218; break;    /* fmov --> mov.  */
     case 1218: value = 1323; break;    /* mov --> dup.  */
     case 1217: value = 1324; break;    /* mov --> dupm.  */
-    case 1939: value = 1326; break;    /* eon --> eor.  */
+    case 1978: value = 1326; break;    /* eon --> eor.  */
     case 1227: value = 1328; break;    /* not --> eor.  */
     case 1228: value = 1329; break;    /* nots --> eors.  */
-    case 1940: value = 1334; break;    /* facle --> facge.  */
-    case 1941: value = 1335; break;    /* faclt --> facgt.  */
-    case 1942: value = 1344; break;    /* fcmle --> fcmge.  */
-    case 1943: value = 1346; break;    /* fcmlt --> fcmgt.  */
-    case 1211: value = 1352; break;    /* fmov --> fcpy.  */
-    case 1210: value = 1369; break;    /* fmov --> fdup.  */
-    case 1212: value = 1667; break;    /* mov --> orr.  */
-    case 1946: value = 1668; break;    /* orn --> orr.  */
-    case 1215: value = 1670; break;    /* mov --> orr.  */
-    case 1225: value = 1671; break;    /* movs --> orrs.  */
-    case 1220: value = 1727; break;    /* mov --> sel.  */
-    case 1223: value = 1728; break;    /* mov --> sel.  */
+    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;
     }
 
@@ -18694,27 +19147,28 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 26:
     case 27:
     case 28:
-    case 144:
-    case 145:
-    case 146:
-    case 147:
-    case 148:
-    case 149:
-    case 150:
+    case 29:
     case 151:
     case 152:
     case 153:
-    case 166:
-    case 167:
-    case 168:
-    case 169:
-    case 170:
-    case 171:
-    case 172:
+    case 154:
+    case 155:
+    case 156:
+    case 157:
+    case 158:
+    case 159:
+    case 160:
     case 173:
     case 174:
     case 175:
+    case 176:
+    case 177:
     case 178:
+    case 179:
+    case 180:
+    case 181:
+    case 185:
+    case 188:
       return aarch64_ext_regno (self, info, code, inst);
     case 8:
       return aarch64_ext_regrt_sysins (self, info, code, inst);
@@ -18726,23 +19180,23 @@ aarch64_extract_operand (const aarch64_operand *self,
       return aarch64_ext_reg_shifted (self, info, code, inst);
     case 19:
       return aarch64_ext_ft (self, info, code, inst);
-    case 29:
     case 30:
     case 31:
-      return aarch64_ext_reglane (self, info, code, inst);
     case 32:
-      return aarch64_ext_reglist (self, info, code, inst);
+    case 190:
+      return aarch64_ext_reglane (self, info, code, inst);
     case 33:
-      return aarch64_ext_ldst_reglist (self, info, code, inst);
+      return aarch64_ext_reglist (self, info, code, inst);
     case 34:
-      return aarch64_ext_ldst_reglist_r (self, info, code, inst);
+      return aarch64_ext_ldst_reglist (self, info, code, inst);
     case 35:
-      return aarch64_ext_ldst_elemlist (self, info, code, inst);
+      return aarch64_ext_ldst_reglist_r (self, info, code, inst);
     case 36:
+      return aarch64_ext_ldst_elemlist (self, info, code, inst);
     case 37:
     case 38:
-    case 48:
-    case 49:
+    case 39:
+    case 40:
     case 50:
     case 51:
     case 52:
@@ -18754,100 +19208,105 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 58:
     case 59:
     case 60:
-    case 71:
-    case 72:
-    case 73:
+    case 61:
+    case 62:
+    case 63:
     case 74:
     case 75:
-    case 141:
-    case 143:
-    case 158:
-    case 159:
-    case 160:
-    case 161:
-    case 162:
-    case 163:
-    case 164:
+    case 76:
+    case 77:
+    case 78:
+    case 148:
+    case 150:
     case 165:
+    case 166:
+    case 167:
+    case 168:
+    case 169:
+    case 170:
+    case 171:
+    case 172:
       return aarch64_ext_imm (self, info, code, inst);
-    case 39:
-    case 40:
-      return aarch64_ext_advsimd_imm_shift (self, info, code, inst);
     case 41:
     case 42:
+      return aarch64_ext_advsimd_imm_shift (self, info, code, inst);
     case 43:
-      return aarch64_ext_advsimd_imm_modified (self, info, code, inst);
     case 44:
+    case 45:
+      return aarch64_ext_advsimd_imm_modified (self, info, code, inst);
+    case 46:
       return aarch64_ext_shll_imm (self, info, code, inst);
-    case 47:
-    case 134:
-      return aarch64_ext_fpimm (self, info, code, inst);
-    case 61:
+    case 49:
     case 139:
+      return aarch64_ext_fpimm (self, info, code, inst);
+    case 64:
+    case 146:
       return aarch64_ext_limm (self, info, code, inst);
-    case 62:
+    case 65:
       return aarch64_ext_aimm (self, info, code, inst);
-    case 63:
-      return aarch64_ext_imm_half (self, info, code, inst);
-    case 64:
-      return aarch64_ext_fbits (self, info, code, inst);
     case 66:
+      return aarch64_ext_imm_half (self, info, code, inst);
     case 67:
-    case 68:
-      return aarch64_ext_imm_rotate (self, info, code, inst);
+      return aarch64_ext_fbits (self, info, code, inst);
     case 69:
     case 70:
+    case 144:
+      return aarch64_ext_imm_rotate2 (self, info, code, inst);
+    case 71:
+    case 143:
+      return aarch64_ext_imm_rotate1 (self, info, code, inst);
+    case 72:
+    case 73:
       return aarch64_ext_cond (self, info, code, inst);
-    case 76:
-    case 83:
-      return aarch64_ext_addr_simple (self, info, code, inst);
-    case 77:
-      return aarch64_ext_addr_regoff (self, info, code, inst);
-    case 78:
     case 79:
+    case 86:
+      return aarch64_ext_addr_simple (self, info, code, inst);
     case 80:
-      return aarch64_ext_addr_simm (self, info, code, inst);
+      return aarch64_ext_addr_regoff (self, info, code, inst);
     case 81:
-      return aarch64_ext_addr_simm10 (self, info, code, inst);
     case 82:
-      return aarch64_ext_addr_uimm12 (self, info, code, inst);
+    case 83:
+      return aarch64_ext_addr_simm (self, info, code, inst);
     case 84:
-      return aarch64_ext_simd_addr_post (self, info, code, inst);
+      return aarch64_ext_addr_simm10 (self, info, code, inst);
     case 85:
-      return aarch64_ext_sysreg (self, info, code, inst);
-    case 86:
-      return aarch64_ext_pstatefield (self, info, code, inst);
+      return aarch64_ext_addr_uimm12 (self, info, code, inst);
     case 87:
+      return aarch64_ext_addr_offset (self, info, code, inst);
     case 88:
+      return aarch64_ext_simd_addr_post (self, info, code, inst);
     case 89:
+      return aarch64_ext_sysreg (self, info, code, inst);
     case 90:
-      return aarch64_ext_sysins_op (self, info, code, inst);
+      return aarch64_ext_pstatefield (self, info, code, inst);
     case 91:
     case 92:
-      return aarch64_ext_barrier (self, info, code, inst);
     case 93:
-      return aarch64_ext_prfop (self, info, code, inst);
     case 94:
-      return aarch64_ext_hint (self, info, code, inst);
+      return aarch64_ext_sysins_op (self, info, code, inst);
     case 95:
     case 96:
+      return aarch64_ext_barrier (self, info, code, inst);
     case 97:
+      return aarch64_ext_prfop (self, info, code, inst);
     case 98:
-      return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst);
+      return aarch64_ext_hint (self, info, code, inst);
     case 99:
-      return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst);
+      return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst);
     case 100:
-      return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst);
     case 101:
     case 102:
     case 103:
+      return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst);
     case 104:
-      return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst);
+      return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst);
     case 105:
+      return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst);
     case 106:
     case 107:
     case 108:
     case 109:
+      return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst);
     case 110:
     case 111:
     case 112:
@@ -18855,53 +19314,62 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 114:
     case 115:
     case 116:
-      return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst);
     case 117:
     case 118:
     case 119:
     case 120:
     case 121:
+      return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst);
     case 122:
     case 123:
     case 124:
-      return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst);
     case 125:
     case 126:
     case 127:
     case 128:
-      return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst);
     case 129:
-      return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst);
+      return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst);
     case 130:
-      return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst);
     case 131:
-      return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst);
     case 132:
-      return aarch64_ext_sve_aimm (self, info, code, inst);
     case 133:
-      return aarch64_ext_sve_asimm (self, info, code, inst);
+      return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst);
+    case 134:
+      return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst);
     case 135:
-      return aarch64_ext_sve_float_half_one (self, info, code, inst);
+      return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst);
     case 136:
-      return aarch64_ext_sve_float_half_two (self, info, code, inst);
+      return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst);
     case 137:
-      return aarch64_ext_sve_float_zero_one (self, info, code, inst);
+      return aarch64_ext_sve_aimm (self, info, code, inst);
     case 138:
-      return aarch64_ext_inv_limm (self, info, code, inst);
+      return aarch64_ext_sve_asimm (self, info, code, inst);
     case 140:
-      return aarch64_ext_sve_limm_mov (self, info, code, inst);
+      return aarch64_ext_sve_float_half_one (self, info, code, inst);
+    case 141:
+      return aarch64_ext_sve_float_half_two (self, info, code, inst);
     case 142:
+      return aarch64_ext_sve_float_zero_one (self, info, code, inst);
+    case 145:
+      return aarch64_ext_inv_limm (self, info, code, inst);
+    case 147:
+      return aarch64_ext_sve_limm_mov (self, info, code, inst);
+    case 149:
       return aarch64_ext_sve_scale (self, info, code, inst);
-    case 154:
-    case 155:
+    case 161:
+    case 162:
       return aarch64_ext_sve_shlimm (self, info, code, inst);
-    case 156:
-    case 157:
+    case 163:
+    case 164:
       return aarch64_ext_sve_shrimm (self, info, code, inst);
-    case 176:
+    case 182:
+    case 183:
+    case 184:
+      return aarch64_ext_sve_quad_index (self, info, code, inst);
+    case 186:
       return aarch64_ext_sve_index (self, info, code, inst);
-    case 177:
-    case 179:
+    case 187:
+    case 189:
       return aarch64_ext_sve_reglist (self, info, code, inst);
     default: assert (0); abort ();
     }