Fix C++ build for Cygwin
[deliverable/binutils-gdb.git] / opcodes / aarch64-dis-2.c
index d83bae039eca5e0cbc6eebfe7686e8f714c70913..8e85dbf2e27c66831dab69f940c8bbd1ca4d9dd5 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is automatically generated by aarch64-gen.  Do not edit!  */
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -40,7 +40,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx0000xxx0
                          adr.  */
-                      return 955;
+                      return 1115;
                     }
                   else
                     {
@@ -48,7 +48,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx0000xxx1
                          adrp.  */
-                      return 956;
+                      return 1116;
                     }
                 }
               else
@@ -115,7 +115,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx000x0010000
                                                  stxrb.  */
-                                              return 713;
+                                              return 873;
                                             }
                                           else
                                             {
@@ -123,7 +123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx000x0010010
                                                  stxrh.  */
-                                              return 719;
+                                              return 879;
                                             }
                                         }
                                       else
@@ -132,7 +132,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx000x00100x1
                                              stxr.  */
-                                          return 725;
+                                          return 885;
                                         }
                                     }
                                   else
@@ -143,7 +143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx100x00100x0
                                              casp.  */
-                                          return 790;
+                                          return 950;
                                         }
                                       else
                                         {
@@ -151,7 +151,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx100x00100x1
                                              stxp.  */
-                                          return 727;
+                                          return 887;
                                         }
                                     }
                                 }
@@ -167,7 +167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx000x0010000
                                                  stlxrb.  */
-                                              return 714;
+                                              return 874;
                                             }
                                           else
                                             {
@@ -175,7 +175,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx000x0010010
                                                  stlxrh.  */
-                                              return 720;
+                                              return 880;
                                             }
                                         }
                                       else
@@ -184,7 +184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx000x00100x1
                                              stlxr.  */
-                                          return 726;
+                                          return 886;
                                         }
                                     }
                                   else
@@ -195,7 +195,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx100x00100x0
                                              caspl.  */
-                                          return 792;
+                                          return 952;
                                         }
                                       else
                                         {
@@ -203,7 +203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx100x00100x1
                                              stlxp.  */
-                                          return 728;
+                                          return 888;
                                         }
                                     }
                                 }
@@ -214,7 +214,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxx00x00101xx
                                  stnp.  */
-                              return 741;
+                              return 901;
                             }
                         }
                       else
@@ -231,7 +231,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx001x00100x0
                                              stllrb.  */
-                                          return 739;
+                                          return 899;
                                         }
                                       else
                                         {
@@ -239,7 +239,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx001x00100x1
                                              stllr.  */
-                                          return 738;
+                                          return 898;
                                         }
                                     }
                                   else
@@ -252,7 +252,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx101x0010000
                                                  casb.  */
-                                              return 778;
+                                              return 938;
                                             }
                                           else
                                             {
@@ -260,7 +260,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx101x0010010
                                                  cash.  */
-                                              return 779;
+                                              return 939;
                                             }
                                         }
                                       else
@@ -269,7 +269,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx101x00100x1
                                              cas.  */
-                                          return 780;
+                                          return 940;
                                         }
                                     }
                                 }
@@ -285,7 +285,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx001x0010000
                                                  stlrb.  */
-                                              return 717;
+                                              return 877;
                                             }
                                           else
                                             {
@@ -293,7 +293,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx001x0010010
                                                  stlrh.  */
-                                              return 723;
+                                              return 883;
                                             }
                                         }
                                       else
@@ -302,7 +302,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx001x00100x1
                                              stlr.  */
-                                          return 733;
+                                          return 893;
                                         }
                                     }
                                   else
@@ -315,7 +315,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx101x0010000
                                                  caslb.  */
-                                              return 782;
+                                              return 942;
                                             }
                                           else
                                             {
@@ -323,7 +323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx101x0010010
                                                  caslh.  */
-                                              return 785;
+                                              return 945;
                                             }
                                         }
                                       else
@@ -332,7 +332,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx101x00100x1
                                              casl.  */
-                                          return 788;
+                                          return 948;
                                         }
                                     }
                                 }
@@ -343,7 +343,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxx01x00101xx
                                  stp.  */
-                              return 750;
+                              return 910;
                             }
                         }
                     }
@@ -365,7 +365,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx010x0010000
                                                  ldxrb.  */
-                                              return 715;
+                                              return 875;
                                             }
                                           else
                                             {
@@ -373,7 +373,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx010x0010010
                                                  ldxrh.  */
-                                              return 721;
+                                              return 881;
                                             }
                                         }
                                       else
@@ -382,7 +382,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx010x00100x1
                                              ldxr.  */
-                                          return 729;
+                                          return 889;
                                         }
                                     }
                                   else
@@ -393,7 +393,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx110x00100x0
                                              caspa.  */
-                                          return 791;
+                                          return 951;
                                         }
                                       else
                                         {
@@ -401,7 +401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx110x00100x1
                                              ldxp.  */
-                                          return 731;
+                                          return 891;
                                         }
                                     }
                                 }
@@ -417,7 +417,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx010x0010000
                                                  ldaxrb.  */
-                                              return 716;
+                                              return 876;
                                             }
                                           else
                                             {
@@ -425,7 +425,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx010x0010010
                                                  ldaxrh.  */
-                                              return 722;
+                                              return 882;
                                             }
                                         }
                                       else
@@ -434,7 +434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx010x00100x1
                                              ldaxr.  */
-                                          return 730;
+                                          return 890;
                                         }
                                     }
                                   else
@@ -445,7 +445,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx110x00100x0
                                              caspal.  */
-                                          return 793;
+                                          return 953;
                                         }
                                       else
                                         {
@@ -453,7 +453,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx110x00100x1
                                              ldaxp.  */
-                                          return 732;
+                                          return 892;
                                         }
                                     }
                                 }
@@ -466,7 +466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10x001010x
                                      ldnp.  */
-                                  return 742;
+                                  return 902;
                                 }
                               else
                                 {
@@ -474,7 +474,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10x001011x
                                      ldpsw.  */
-                                  return 749;
+                                  return 909;
                                 }
                             }
                         }
@@ -494,7 +494,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx011x0010000
                                                  ldlarb.  */
-                                              return 736;
+                                              return 896;
                                             }
                                           else
                                             {
@@ -502,7 +502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx011x0010010
                                                  ldlarh.  */
-                                              return 737;
+                                              return 897;
                                             }
                                         }
                                       else
@@ -511,7 +511,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx011x00100x1
                                              ldlar.  */
-                                          return 735;
+                                          return 895;
                                         }
                                     }
                                   else
@@ -524,7 +524,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx111x0010000
                                                  casab.  */
-                                              return 781;
+                                              return 941;
                                             }
                                           else
                                             {
@@ -532,7 +532,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx0xxxxx111x0010010
                                                  casah.  */
-                                              return 784;
+                                              return 944;
                                             }
                                         }
                                       else
@@ -541,7 +541,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx0xxxxx111x00100x1
                                              casa.  */
-                                          return 787;
+                                          return 947;
                                         }
                                     }
                                 }
@@ -557,7 +557,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx011x0010000
                                                  ldarb.  */
-                                              return 718;
+                                              return 878;
                                             }
                                           else
                                             {
@@ -565,7 +565,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx011x0010010
                                                  ldarh.  */
-                                              return 724;
+                                              return 884;
                                             }
                                         }
                                       else
@@ -574,7 +574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx011x00100x1
                                              ldar.  */
-                                          return 734;
+                                          return 894;
                                         }
                                     }
                                   else
@@ -587,7 +587,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx111x0010000
                                                  casalb.  */
-                                              return 783;
+                                              return 943;
                                             }
                                           else
                                             {
@@ -595,7 +595,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxxxxxxx1xxxxx111x0010010
                                                  casalh.  */
-                                              return 786;
+                                              return 946;
                                             }
                                         }
                                       else
@@ -604,7 +604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxxxx1xxxxx111x00100x1
                                              casal.  */
-                                          return 789;
+                                          return 949;
                                         }
                                     }
                                 }
@@ -617,7 +617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx11x001010x
                                      ldp.  */
-                                  return 751;
+                                  return 911;
                                 }
                               else
                                 {
@@ -625,7 +625,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx11x001011x
                                      ldpsw.  */
-                                  return 754;
+                                  return 914;
                                 }
                             }
                         }
@@ -643,7 +643,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxxx000110x0
                                  ldr.  */
-                              return 755;
+                              return 915;
                             }
                           else
                             {
@@ -653,7 +653,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxxx00011001
                                      ldrsw.  */
-                                  return 757;
+                                  return 917;
                                 }
                               else
                                 {
@@ -661,7 +661,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxxx00011011
                                      prfm.  */
-                                  return 758;
+                                  return 918;
                                 }
                             }
                         }
@@ -685,7 +685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00xxxxxxxxx00000011100
                                                          sturb.  */
-                                                      return 701;
+                                                      return 861;
                                                     }
                                                   else
                                                     {
@@ -693,7 +693,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00xxxxxxxxx00000011110
                                                          sturh.  */
-                                                      return 706;
+                                                      return 866;
                                                     }
                                                 }
                                               else
@@ -702,7 +702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx000000111x1
                                                      stur.  */
-                                                  return 709;
+                                                  return 869;
                                                 }
                                             }
                                           else
@@ -715,7 +715,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00xxxxxxxxx01000011100
                                                          ldurb.  */
-                                                      return 702;
+                                                      return 862;
                                                     }
                                                   else
                                                     {
@@ -723,7 +723,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00xxxxxxxxx01000011110
                                                          ldurh.  */
-                                                      return 707;
+                                                      return 867;
                                                     }
                                                 }
                                               else
@@ -732,7 +732,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx010000111x1
                                                      ldur.  */
-                                                  return 710;
+                                                  return 870;
                                                 }
                                             }
                                         }
@@ -746,7 +746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx0x100011100
                                                      ldursb.  */
-                                                  return 703;
+                                                  return 863;
                                                 }
                                               else
                                                 {
@@ -754,7 +754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx0x100011101
                                                      ldursw.  */
-                                                  return 711;
+                                                  return 871;
                                                 }
                                             }
                                           else
@@ -765,7 +765,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx0x100011110
                                                      ldursh.  */
-                                                  return 708;
+                                                  return 868;
                                                 }
                                               else
                                                 {
@@ -773,7 +773,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00xxxxxxxxx0x100011111
                                                      prfum.  */
-                                                  return 712;
+                                                  return 872;
                                                 }
                                             }
                                         }
@@ -800,7 +800,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx10000011100
                                                                          ldaddb.  */
-                                                                      return 806;
+                                                                      return 966;
                                                                     }
                                                                   else
                                                                     {
@@ -808,7 +808,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx10000011110
                                                                          ldaddh.  */
-                                                                      return 807;
+                                                                      return 967;
                                                                     }
                                                                 }
                                                               else
@@ -817,7 +817,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000000xxxxx100000111x1
                                                                      ldadd.  */
-                                                                  return 808;
+                                                                  return 968;
                                                                 }
                                                             }
                                                           else
@@ -830,7 +830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx10100011100
                                                                          ldaddab.  */
-                                                                      return 809;
+                                                                      return 969;
                                                                     }
                                                                   else
                                                                     {
@@ -838,7 +838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx10100011110
                                                                          ldaddah.  */
-                                                                      return 812;
+                                                                      return 972;
                                                                     }
                                                                 }
                                                               else
@@ -847,7 +847,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000000xxxxx101000111x1
                                                                      ldadda.  */
-                                                                  return 815;
+                                                                  return 975;
                                                                 }
                                                             }
                                                         }
@@ -863,7 +863,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx11000011100
                                                                          ldaddlb.  */
-                                                                      return 810;
+                                                                      return 970;
                                                                     }
                                                                   else
                                                                     {
@@ -871,7 +871,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx11000011110
                                                                          ldaddlh.  */
-                                                                      return 813;
+                                                                      return 973;
                                                                     }
                                                                 }
                                                               else
@@ -880,7 +880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000000xxxxx110000111x1
                                                                      ldaddl.  */
-                                                                  return 816;
+                                                                  return 976;
                                                                 }
                                                             }
                                                           else
@@ -893,7 +893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx11100011100
                                                                          ldaddalb.  */
-                                                                      return 811;
+                                                                      return 971;
                                                                     }
                                                                   else
                                                                     {
@@ -901,7 +901,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000xxxxx11100011110
                                                                          ldaddalh.  */
-                                                                      return 814;
+                                                                      return 974;
                                                                     }
                                                                 }
                                                               else
@@ -910,7 +910,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000000xxxxx111000111x1
                                                                      ldaddal.  */
-                                                                  return 817;
+                                                                  return 977;
                                                                 }
                                                             }
                                                         }
@@ -929,7 +929,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx10000011100
                                                                          swpb.  */
-                                                                      return 794;
+                                                                      return 954;
                                                                     }
                                                                   else
                                                                     {
@@ -937,7 +937,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx10000011110
                                                                          swph.  */
-                                                                      return 795;
+                                                                      return 955;
                                                                     }
                                                                 }
                                                               else
@@ -946,7 +946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000001xxxxx100000111x1
                                                                      swp.  */
-                                                                  return 796;
+                                                                  return 956;
                                                                 }
                                                             }
                                                           else
@@ -959,7 +959,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx10100011100
                                                                          swpab.  */
-                                                                      return 797;
+                                                                      return 957;
                                                                     }
                                                                   else
                                                                     {
@@ -967,7 +967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx10100011110
                                                                          swpah.  */
-                                                                      return 800;
+                                                                      return 960;
                                                                     }
                                                                 }
                                                               else
@@ -976,7 +976,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000001xxxxx101000111x1
                                                                      swpa.  */
-                                                                  return 803;
+                                                                  return 963;
                                                                 }
                                                             }
                                                         }
@@ -992,7 +992,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx11000011100
                                                                          swplb.  */
-                                                                      return 798;
+                                                                      return 958;
                                                                     }
                                                                   else
                                                                     {
@@ -1000,7 +1000,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx11000011110
                                                                          swplh.  */
-                                                                      return 801;
+                                                                      return 961;
                                                                     }
                                                                 }
                                                               else
@@ -1009,7 +1009,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000001xxxxx110000111x1
                                                                      swpl.  */
-                                                                  return 804;
+                                                                  return 964;
                                                                 }
                                                             }
                                                           else
@@ -1022,7 +1022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx11100011100
                                                                          swpalb.  */
-                                                                      return 799;
+                                                                      return 959;
                                                                     }
                                                                   else
                                                                     {
@@ -1030,7 +1030,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000001xxxxx11100011110
                                                                          swpalh.  */
-                                                                      return 802;
+                                                                      return 962;
                                                                     }
                                                                 }
                                                               else
@@ -1039,7 +1039,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx000001xxxxx111000111x1
                                                                      swpal.  */
-                                                                  return 805;
+                                                                  return 965;
                                                                 }
                                                             }
                                                         }
@@ -1059,7 +1059,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00001xxxxxx10000011100
                                                                      ldsmaxb.  */
-                                                                  return 854;
+                                                                  return 1014;
                                                                 }
                                                               else
                                                                 {
@@ -1067,7 +1067,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00001xxxxxx10000011110
                                                                      ldsmaxh.  */
-                                                                  return 855;
+                                                                  return 1015;
                                                                 }
                                                             }
                                                           else
@@ -1076,7 +1076,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00001xxxxxx100000111x1
                                                                  ldsmax.  */
-                                                              return 856;
+                                                              return 1016;
                                                             }
                                                         }
                                                       else
@@ -1089,7 +1089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00001xxxxxx10100011100
                                                                      ldsmaxab.  */
-                                                                  return 857;
+                                                                  return 1017;
                                                                 }
                                                               else
                                                                 {
@@ -1097,7 +1097,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00001xxxxxx10100011110
                                                                      ldsmaxah.  */
-                                                                  return 860;
+                                                                  return 1020;
                                                                 }
                                                             }
                                                           else
@@ -1106,7 +1106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00001xxxxxx101000111x1
                                                                  ldsmaxa.  */
-                                                              return 863;
+                                                              return 1023;
                                                             }
                                                         }
                                                     }
@@ -1122,7 +1122,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00001xxxxxx11000011100
                                                                      ldsmaxlb.  */
-                                                                  return 858;
+                                                                  return 1018;
                                                                 }
                                                               else
                                                                 {
@@ -1130,7 +1130,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00001xxxxxx11000011110
                                                                      ldsmaxlh.  */
-                                                                  return 861;
+                                                                  return 1021;
                                                                 }
                                                             }
                                                           else
@@ -1139,7 +1139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00001xxxxxx110000111x1
                                                                  ldsmaxl.  */
-                                                              return 864;
+                                                              return 1024;
                                                             }
                                                         }
                                                       else
@@ -1152,7 +1152,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00001xxxxxx11100011100
                                                                      ldsmaxalb.  */
-                                                                  return 859;
+                                                                  return 1019;
                                                                 }
                                                               else
                                                                 {
@@ -1160,7 +1160,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00001xxxxxx11100011110
                                                                      ldsmaxalh.  */
-                                                                  return 862;
+                                                                  return 1022;
                                                                 }
                                                             }
                                                           else
@@ -1169,7 +1169,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00001xxxxxx111000111x1
                                                                  ldsmaxal.  */
-                                                              return 865;
+                                                              return 1025;
                                                             }
                                                         }
                                                     }
@@ -1191,7 +1191,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx10000011100
                                                                      ldeorb.  */
-                                                                  return 830;
+                                                                  return 990;
                                                                 }
                                                               else
                                                                 {
@@ -1199,7 +1199,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx10000011110
                                                                      ldeorh.  */
-                                                                  return 831;
+                                                                  return 991;
                                                                 }
                                                             }
                                                           else
@@ -1208,7 +1208,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00010xxxxxx100000111x1
                                                                  ldeor.  */
-                                                              return 832;
+                                                              return 992;
                                                             }
                                                         }
                                                       else
@@ -1221,7 +1221,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx10100011100
                                                                      ldeorab.  */
-                                                                  return 833;
+                                                                  return 993;
                                                                 }
                                                               else
                                                                 {
@@ -1229,7 +1229,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx10100011110
                                                                      ldeorah.  */
-                                                                  return 836;
+                                                                  return 996;
                                                                 }
                                                             }
                                                           else
@@ -1238,7 +1238,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00010xxxxxx101000111x1
                                                                  ldeora.  */
-                                                              return 839;
+                                                              return 999;
                                                             }
                                                         }
                                                     }
@@ -1254,7 +1254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx11000011100
                                                                      ldeorlb.  */
-                                                                  return 834;
+                                                                  return 994;
                                                                 }
                                                               else
                                                                 {
@@ -1262,7 +1262,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx11000011110
                                                                      ldeorlh.  */
-                                                                  return 837;
+                                                                  return 997;
                                                                 }
                                                             }
                                                           else
@@ -1271,7 +1271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00010xxxxxx110000111x1
                                                                  ldeorl.  */
-                                                              return 840;
+                                                              return 1000;
                                                             }
                                                         }
                                                       else
@@ -1284,7 +1284,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx11100011100
                                                                      ldeoralb.  */
-                                                                  return 835;
+                                                                  return 995;
                                                                 }
                                                               else
                                                                 {
@@ -1292,7 +1292,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00010xxxxxx11100011110
                                                                      ldeoralh.  */
-                                                                  return 838;
+                                                                  return 998;
                                                                 }
                                                             }
                                                           else
@@ -1301,7 +1301,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00010xxxxxx111000111x1
                                                                  ldeoral.  */
-                                                              return 841;
+                                                              return 1001;
                                                             }
                                                         }
                                                     }
@@ -1320,7 +1320,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx10000011100
                                                                      ldumaxb.  */
-                                                                  return 878;
+                                                                  return 1038;
                                                                 }
                                                               else
                                                                 {
@@ -1328,7 +1328,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx10000011110
                                                                      ldumaxh.  */
-                                                                  return 879;
+                                                                  return 1039;
                                                                 }
                                                             }
                                                           else
@@ -1337,7 +1337,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00011xxxxxx100000111x1
                                                                  ldumax.  */
-                                                              return 880;
+                                                              return 1040;
                                                             }
                                                         }
                                                       else
@@ -1350,7 +1350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx10100011100
                                                                      ldumaxab.  */
-                                                                  return 881;
+                                                                  return 1041;
                                                                 }
                                                               else
                                                                 {
@@ -1358,7 +1358,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx10100011110
                                                                      ldumaxah.  */
-                                                                  return 884;
+                                                                  return 1044;
                                                                 }
                                                             }
                                                           else
@@ -1367,7 +1367,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00011xxxxxx101000111x1
                                                                  ldumaxa.  */
-                                                              return 887;
+                                                              return 1047;
                                                             }
                                                         }
                                                     }
@@ -1383,7 +1383,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx11000011100
                                                                      ldumaxlb.  */
-                                                                  return 882;
+                                                                  return 1042;
                                                                 }
                                                               else
                                                                 {
@@ -1391,7 +1391,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx11000011110
                                                                      ldumaxlh.  */
-                                                                  return 885;
+                                                                  return 1045;
                                                                 }
                                                             }
                                                           else
@@ -1400,7 +1400,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00011xxxxxx110000111x1
                                                                  ldumaxl.  */
-                                                              return 888;
+                                                              return 1048;
                                                             }
                                                         }
                                                       else
@@ -1413,7 +1413,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx11100011100
                                                                      ldumaxalb.  */
-                                                                  return 883;
+                                                                  return 1043;
                                                                 }
                                                               else
                                                                 {
@@ -1421,7 +1421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00011xxxxxx11100011110
                                                                      ldumaxalh.  */
-                                                                  return 886;
+                                                                  return 1046;
                                                                 }
                                                             }
                                                           else
@@ -1430,7 +1430,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00011xxxxxx111000111x1
                                                                  ldumaxal.  */
-                                                              return 889;
+                                                              return 1049;
                                                             }
                                                         }
                                                     }
@@ -1455,7 +1455,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx10000011100
                                                                      ldclrb.  */
-                                                                  return 818;
+                                                                  return 978;
                                                                 }
                                                               else
                                                                 {
@@ -1463,7 +1463,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx10000011110
                                                                      ldclrh.  */
-                                                                  return 819;
+                                                                  return 979;
                                                                 }
                                                             }
                                                           else
@@ -1472,7 +1472,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00100xxxxxx100000111x1
                                                                  ldclr.  */
-                                                              return 820;
+                                                              return 980;
                                                             }
                                                         }
                                                       else
@@ -1485,7 +1485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx10100011100
                                                                      ldclrab.  */
-                                                                  return 821;
+                                                                  return 981;
                                                                 }
                                                               else
                                                                 {
@@ -1493,7 +1493,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx10100011110
                                                                      ldclrah.  */
-                                                                  return 824;
+                                                                  return 984;
                                                                 }
                                                             }
                                                           else
@@ -1502,7 +1502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00100xxxxxx101000111x1
                                                                  ldclra.  */
-                                                              return 827;
+                                                              return 987;
                                                             }
                                                         }
                                                     }
@@ -1518,7 +1518,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx11000011100
                                                                      ldclrlb.  */
-                                                                  return 822;
+                                                                  return 982;
                                                                 }
                                                               else
                                                                 {
@@ -1526,7 +1526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx11000011110
                                                                      ldclrlh.  */
-                                                                  return 825;
+                                                                  return 985;
                                                                 }
                                                             }
                                                           else
@@ -1535,7 +1535,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00100xxxxxx110000111x1
                                                                  ldclrl.  */
-                                                              return 828;
+                                                              return 988;
                                                             }
                                                         }
                                                       else
@@ -1548,7 +1548,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx11100011100
                                                                      ldclralb.  */
-                                                                  return 823;
+                                                                  return 983;
                                                                 }
                                                               else
                                                                 {
@@ -1556,7 +1556,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00100xxxxxx11100011110
                                                                      ldclralh.  */
-                                                                  return 826;
+                                                                  return 986;
                                                                 }
                                                             }
                                                           else
@@ -1565,7 +1565,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00100xxxxxx111000111x1
                                                                  ldclral.  */
-                                                              return 829;
+                                                              return 989;
                                                             }
                                                         }
                                                     }
@@ -1584,7 +1584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx10000011100
                                                                      ldsminb.  */
-                                                                  return 866;
+                                                                  return 1026;
                                                                 }
                                                               else
                                                                 {
@@ -1592,7 +1592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx10000011110
                                                                      ldsminh.  */
-                                                                  return 867;
+                                                                  return 1027;
                                                                 }
                                                             }
                                                           else
@@ -1601,7 +1601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00101xxxxxx100000111x1
                                                                  ldsmin.  */
-                                                              return 868;
+                                                              return 1028;
                                                             }
                                                         }
                                                       else
@@ -1614,7 +1614,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx10100011100
                                                                      ldsminab.  */
-                                                                  return 869;
+                                                                  return 1029;
                                                                 }
                                                               else
                                                                 {
@@ -1622,7 +1622,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx10100011110
                                                                      ldsminah.  */
-                                                                  return 872;
+                                                                  return 1032;
                                                                 }
                                                             }
                                                           else
@@ -1631,7 +1631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00101xxxxxx101000111x1
                                                                  ldsmina.  */
-                                                              return 875;
+                                                              return 1035;
                                                             }
                                                         }
                                                     }
@@ -1647,7 +1647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx11000011100
                                                                      ldsminlb.  */
-                                                                  return 870;
+                                                                  return 1030;
                                                                 }
                                                               else
                                                                 {
@@ -1655,7 +1655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx11000011110
                                                                      ldsminlh.  */
-                                                                  return 873;
+                                                                  return 1033;
                                                                 }
                                                             }
                                                           else
@@ -1664,7 +1664,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00101xxxxxx110000111x1
                                                                  ldsminl.  */
-                                                              return 876;
+                                                              return 1036;
                                                             }
                                                         }
                                                       else
@@ -1677,7 +1677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx11100011100
                                                                      ldsminalb.  */
-                                                                  return 871;
+                                                                  return 1031;
                                                                 }
                                                               else
                                                                 {
@@ -1685,7 +1685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00101xxxxxx11100011110
                                                                      ldsminalh.  */
-                                                                  return 874;
+                                                                  return 1034;
                                                                 }
                                                             }
                                                           else
@@ -1694,7 +1694,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00101xxxxxx111000111x1
                                                                  ldsminal.  */
-                                                              return 877;
+                                                              return 1037;
                                                             }
                                                         }
                                                     }
@@ -1716,7 +1716,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx10000011100
                                                                      ldsetb.  */
-                                                                  return 842;
+                                                                  return 1002;
                                                                 }
                                                               else
                                                                 {
@@ -1724,7 +1724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx10000011110
                                                                      ldseth.  */
-                                                                  return 843;
+                                                                  return 1003;
                                                                 }
                                                             }
                                                           else
@@ -1733,7 +1733,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00110xxxxxx100000111x1
                                                                  ldset.  */
-                                                              return 844;
+                                                              return 1004;
                                                             }
                                                         }
                                                       else
@@ -1746,7 +1746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx10100011100
                                                                      ldsetab.  */
-                                                                  return 845;
+                                                                  return 1005;
                                                                 }
                                                               else
                                                                 {
@@ -1754,7 +1754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx10100011110
                                                                      ldsetah.  */
-                                                                  return 848;
+                                                                  return 1008;
                                                                 }
                                                             }
                                                           else
@@ -1763,7 +1763,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00110xxxxxx101000111x1
                                                                  ldseta.  */
-                                                              return 851;
+                                                              return 1011;
                                                             }
                                                         }
                                                     }
@@ -1779,7 +1779,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx11000011100
                                                                      ldsetlb.  */
-                                                                  return 846;
+                                                                  return 1006;
                                                                 }
                                                               else
                                                                 {
@@ -1787,7 +1787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx11000011110
                                                                      ldsetlh.  */
-                                                                  return 849;
+                                                                  return 1009;
                                                                 }
                                                             }
                                                           else
@@ -1796,7 +1796,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00110xxxxxx110000111x1
                                                                  ldsetl.  */
-                                                              return 852;
+                                                              return 1012;
                                                             }
                                                         }
                                                       else
@@ -1809,7 +1809,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx11100011100
                                                                      ldsetalb.  */
-                                                                  return 847;
+                                                                  return 1007;
                                                                 }
                                                               else
                                                                 {
@@ -1817,7 +1817,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00110xxxxxx11100011110
                                                                      ldsetalh.  */
-                                                                  return 850;
+                                                                  return 1010;
                                                                 }
                                                             }
                                                           else
@@ -1826,7 +1826,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00110xxxxxx111000111x1
                                                                  ldsetal.  */
-                                                              return 853;
+                                                              return 1013;
                                                             }
                                                         }
                                                     }
@@ -1845,7 +1845,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx10000011100
                                                                      lduminb.  */
-                                                                  return 890;
+                                                                  return 1050;
                                                                 }
                                                               else
                                                                 {
@@ -1853,7 +1853,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx10000011110
                                                                      lduminh.  */
-                                                                  return 891;
+                                                                  return 1051;
                                                                 }
                                                             }
                                                           else
@@ -1862,7 +1862,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00111xxxxxx100000111x1
                                                                  ldumin.  */
-                                                              return 892;
+                                                              return 1052;
                                                             }
                                                         }
                                                       else
@@ -1875,7 +1875,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx10100011100
                                                                      lduminab.  */
-                                                                  return 893;
+                                                                  return 1053;
                                                                 }
                                                               else
                                                                 {
@@ -1883,7 +1883,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx10100011110
                                                                      lduminah.  */
-                                                                  return 896;
+                                                                  return 1056;
                                                                 }
                                                             }
                                                           else
@@ -1892,7 +1892,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00111xxxxxx101000111x1
                                                                  ldumina.  */
-                                                              return 899;
+                                                              return 1059;
                                                             }
                                                         }
                                                     }
@@ -1908,7 +1908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx11000011100
                                                                      lduminlb.  */
-                                                                  return 894;
+                                                                  return 1054;
                                                                 }
                                                               else
                                                                 {
@@ -1916,7 +1916,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx11000011110
                                                                      lduminlh.  */
-                                                                  return 897;
+                                                                  return 1057;
                                                                 }
                                                             }
                                                           else
@@ -1925,7 +1925,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00111xxxxxx110000111x1
                                                                  lduminl.  */
-                                                              return 900;
+                                                              return 1060;
                                                             }
                                                         }
                                                       else
@@ -1938,7 +1938,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx11100011100
                                                                      lduminalb.  */
-                                                                  return 895;
+                                                                  return 1055;
                                                                 }
                                                               else
                                                                 {
@@ -1946,7 +1946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx00111xxxxxx11100011110
                                                                      lduminalh.  */
-                                                                  return 898;
+                                                                  return 1058;
                                                                 }
                                                             }
                                                           else
@@ -1955,7 +1955,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx00111xxxxxx111000111x1
                                                                  lduminal.  */
-                                                              return 901;
+                                                              return 1061;
                                                             }
                                                         }
                                                     }
@@ -1980,7 +1980,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx00000011100
                                                          sttrb.  */
-                                                      return 692;
+                                                      return 852;
                                                     }
                                                   else
                                                     {
@@ -1988,7 +1988,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx00000011110
                                                          sttrh.  */
-                                                      return 695;
+                                                      return 855;
                                                     }
                                                 }
                                               else
@@ -1997,7 +1997,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx000000111x1
                                                      sttr.  */
-                                                  return 698;
+                                                  return 858;
                                                 }
                                             }
                                           else
@@ -2010,7 +2010,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx01000011100
                                                          ldtrb.  */
-                                                      return 693;
+                                                      return 853;
                                                     }
                                                   else
                                                     {
@@ -2018,7 +2018,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx01000011110
                                                          ldtrh.  */
-                                                      return 696;
+                                                      return 856;
                                                     }
                                                 }
                                               else
@@ -2027,7 +2027,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx010000111x1
                                                      ldtr.  */
-                                                  return 699;
+                                                  return 859;
                                                 }
                                             }
                                         }
@@ -2041,7 +2041,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx0x100011100
                                                      ldtrsb.  */
-                                                  return 694;
+                                                  return 854;
                                                 }
                                               else
                                                 {
@@ -2049,7 +2049,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx0x100011101
                                                      ldtrsw.  */
-                                                  return 700;
+                                                  return 860;
                                                 }
                                             }
                                           else
@@ -2058,7 +2058,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx01xxxxxxxxx0x10001111x
                                                  ldtrsh.  */
-                                              return 697;
+                                              return 857;
                                             }
                                         }
                                     }
@@ -2076,7 +2076,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx10000011100
                                                          strb.  */
-                                                      return 680;
+                                                      return 840;
                                                     }
                                                   else
                                                     {
@@ -2084,7 +2084,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx10000011110
                                                          strh.  */
-                                                      return 685;
+                                                      return 845;
                                                     }
                                                 }
                                               else
@@ -2093,7 +2093,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx100000111x1
                                                      str.  */
-                                                  return 688;
+                                                  return 848;
                                                 }
                                             }
                                           else
@@ -2106,7 +2106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx11000011100
                                                          ldrb.  */
-                                                      return 681;
+                                                      return 841;
                                                     }
                                                   else
                                                     {
@@ -2114,7 +2114,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01xxxxxxxxx11000011110
                                                          ldrh.  */
-                                                      return 686;
+                                                      return 846;
                                                     }
                                                 }
                                               else
@@ -2123,7 +2123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx110000111x1
                                                      ldr.  */
-                                                  return 689;
+                                                  return 849;
                                                 }
                                             }
                                         }
@@ -2137,7 +2137,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx1x100011100
                                                      ldrsb.  */
-                                                  return 682;
+                                                  return 842;
                                                 }
                                               else
                                                 {
@@ -2145,7 +2145,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx1x100011101
                                                      ldrsw.  */
-                                                  return 690;
+                                                  return 850;
                                                 }
                                             }
                                           else
@@ -2156,7 +2156,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx1x100011110
                                                      ldrsh.  */
-                                                  return 687;
+                                                  return 847;
                                                 }
                                               else
                                                 {
@@ -2164,7 +2164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01xxxxxxxxx1x100011111
                                                      prfm.  */
-                                                  return 691;
+                                                  return 851;
                                                 }
                                             }
                                         }
@@ -2185,7 +2185,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1xxxxxxxxxxx0000011100
                                                  strb.  */
-                                              return 657;
+                                              return 817;
                                             }
                                           else
                                             {
@@ -2193,7 +2193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1xxxxxxxxxxx0000011110
                                                  strh.  */
-                                              return 662;
+                                              return 822;
                                             }
                                         }
                                       else
@@ -2202,7 +2202,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx1xxxxxxxxxxx00000111x1
                                              str.  */
-                                          return 665;
+                                          return 825;
                                         }
                                     }
                                   else
@@ -2215,7 +2215,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1xxxxxxxxxxx1000011100
                                                  ldrb.  */
-                                              return 658;
+                                              return 818;
                                             }
                                           else
                                             {
@@ -2223,7 +2223,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1xxxxxxxxxxx1000011110
                                                  ldrh.  */
-                                              return 663;
+                                              return 823;
                                             }
                                         }
                                       else
@@ -2232,7 +2232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx1xxxxxxxxxxx10000111x1
                                              ldr.  */
-                                          return 666;
+                                          return 826;
                                         }
                                     }
                                 }
@@ -2246,7 +2246,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx1xxxxxxxxxxxx100011100
                                              ldrsb.  */
-                                          return 659;
+                                          return 819;
                                         }
                                       else
                                         {
@@ -2254,7 +2254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx1xxxxxxxxxxxx100011101
                                              ldrsw.  */
-                                          return 667;
+                                          return 827;
                                         }
                                     }
                                   else
@@ -2263,7 +2263,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx1xxxxxxxxxxxx10001111x
                                          ldrsh.  */
-                                      return 664;
+                                      return 824;
                                     }
                                 }
                             }
@@ -2283,7 +2283,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx0010011x00
                                          strb.  */
-                                      return 668;
+                                      return 828;
                                     }
                                   else
                                     {
@@ -2291,7 +2291,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx0010011x10
                                          strh.  */
-                                      return 673;
+                                      return 833;
                                     }
                                 }
                               else
@@ -2300,7 +2300,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx0010011xx1
                                      str.  */
-                                  return 676;
+                                  return 836;
                                 }
                             }
                           else
@@ -2313,7 +2313,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx1010011x00
                                          ldrb.  */
-                                      return 669;
+                                      return 829;
                                     }
                                   else
                                     {
@@ -2321,7 +2321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxxx1010011x10
                                          ldrh.  */
-                                      return 674;
+                                      return 834;
                                     }
                                 }
                               else
@@ -2330,7 +2330,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx1010011xx1
                                      ldr.  */
-                                  return 677;
+                                  return 837;
                                 }
                             }
                         }
@@ -2344,7 +2344,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxx110011x00
                                      ldrsb.  */
-                                  return 670;
+                                  return 830;
                                 }
                               else
                                 {
@@ -2352,7 +2352,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxx110011x01
                                      ldrsw.  */
-                                  return 678;
+                                  return 838;
                                 }
                             }
                           else
@@ -2363,7 +2363,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxx110011x10
                                      ldrsh.  */
-                                  return 675;
+                                  return 835;
                                 }
                               else
                                 {
@@ -2371,7 +2371,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxxx110011x11
                                      prfm.  */
-                                  return 679;
+                                  return 839;
                                 }
                             }
                         }
@@ -2395,7 +2395,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx00100x00x
                                  and.  */
-                              return 759;
+                              return 919;
                             }
                           else
                             {
@@ -2403,7 +2403,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx00100x01x
                                  eor.  */
-                              return 763;
+                              return 923;
                             }
                         }
                       else
@@ -2414,7 +2414,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx00100x10x
                                  orr.  */
-                              return 761;
+                              return 921;
                             }
                           else
                             {
@@ -2422,7 +2422,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx00100x11x
                                  ands.  */
-                              return 764;
+                              return 924;
                             }
                         }
                     }
@@ -2436,7 +2436,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx10100x00x
                                  movn.  */
-                              return 950;
+                              return 1110;
                             }
                           else
                             {
@@ -2444,7 +2444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx10100x01x
                                  movz.  */
-                              return 952;
+                              return 1112;
                             }
                         }
                       else
@@ -2453,7 +2453,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxx10100x1xx
                              movk.  */
-                          return 954;
+                          return 1114;
                         }
                     }
                 }
@@ -2471,7 +2471,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx0101000x
                                      and.  */
-                                  return 766;
+                                  return 926;
                                 }
                               else
                                 {
@@ -2479,7 +2479,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx0101001x
                                      eor.  */
-                                  return 773;
+                                  return 933;
                                 }
                             }
                           else
@@ -2490,7 +2490,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx0101010x
                                      orr.  */
-                                  return 768;
+                                  return 928;
                                 }
                               else
                                 {
@@ -2498,7 +2498,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx0xx0101011x
                                      ands.  */
-                                  return 775;
+                                  return 935;
                                 }
                             }
                         }
@@ -2559,7 +2559,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxx00101011x0x
                                                  csel.  */
-                                              return 532;
+                                              return 641;
                                             }
                                           else
                                             {
@@ -2567,7 +2567,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxx00101011x1x
                                                  csinv.  */
-                                              return 536;
+                                              return 645;
                                             }
                                         }
                                     }
@@ -2581,7 +2581,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxx01001011x0x
                                                  ccmn.  */
-                                              return 530;
+                                              return 639;
                                             }
                                           else
                                             {
@@ -2589,7 +2589,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx00xxxxxxxxx01001011x1x
                                                  ccmp.  */
-                                              return 531;
+                                              return 640;
                                             }
                                         }
                                       else
@@ -2604,7 +2604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00000xxxxxx01101011xxx
                                                          rbit.  */
-                                                      return 555;
+                                                      return 664;
                                                     }
                                                   else
                                                     {
@@ -2612,7 +2612,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00001xxxxxx01101011xxx
                                                          crc32b.  */
-                                                      return 572;
+                                                      return 682;
                                                     }
                                                 }
                                               else
@@ -2621,7 +2621,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0001xxxxxxx01101011xxx
                                                      lslv.  */
-                                                  return 564;
+                                                  return 674;
                                                 }
                                             }
                                           else
@@ -2632,7 +2632,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx001x0xxxxxx01101011xxx
                                                      clz.  */
-                                                  return 559;
+                                                  return 669;
                                                 }
                                               else
                                                 {
@@ -2640,7 +2640,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx001x1xxxxxx01101011xxx
                                                      crc32cb.  */
-                                                  return 576;
+                                                  return 686;
                                                 }
                                             }
                                         }
@@ -2656,7 +2656,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx01xxxxxxxxx0x001011x0x
                                              ccmn.  */
-                                          return 528;
+                                          return 637;
                                         }
                                       else
                                         {
@@ -2664,7 +2664,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx01xxxxxxxxx0x001011x1x
                                              ccmp.  */
-                                          return 529;
+                                          return 638;
                                         }
                                     }
                                   else
@@ -2681,7 +2681,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx01000xxxxxx0x101011x0x
                                                          udiv.  */
-                                                      return 562;
+                                                      return 672;
                                                     }
                                                   else
                                                     {
@@ -2691,7 +2691,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx01000xxxxxx0x101011x10
                                                              rev.  */
-                                                          return 557;
+                                                          return 666;
                                                         }
                                                       else
                                                         {
@@ -2699,7 +2699,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx01000xxxxxx0x101011x11
                                                              rev32.  */
-                                                          return 561;
+                                                          return 671;
                                                         }
                                                     }
                                                 }
@@ -2709,7 +2709,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01001xxxxxx0x101011xxx
                                                      crc32w.  */
-                                                  return 574;
+                                                  return 684;
                                                 }
                                             }
                                           else
@@ -2718,7 +2718,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0101xxxxxxx0x101011xxx
                                                  asrv.  */
-                                              return 568;
+                                              return 678;
                                             }
                                         }
                                       else
@@ -2727,7 +2727,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx011xxxxxxxx0x101011xxx
                                              crc32cw.  */
-                                          return 578;
+                                          return 688;
                                         }
                                     }
                                 }
@@ -2744,7 +2744,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx10xxxxxxxxx00x01011x0x
                                              csinc.  */
-                                          return 533;
+                                          return 642;
                                         }
                                       else
                                         {
@@ -2752,7 +2752,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx10xxxxxxxxx00x01011x1x
                                              csneg.  */
-                                          return 539;
+                                          return 648;
                                         }
                                     }
                                   else
@@ -2767,7 +2767,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx10000xxxxxx01x01011xxx
                                                      rev16.  */
-                                                  return 556;
+                                                  return 665;
                                                 }
                                               else
                                                 {
@@ -2775,7 +2775,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx10001xxxxxx01x01011xxx
                                                      crc32h.  */
-                                                  return 573;
+                                                  return 683;
                                                 }
                                             }
                                           else
@@ -2784,7 +2784,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1001xxxxxxx01x01011xxx
                                                  lsrv.  */
-                                              return 566;
+                                              return 676;
                                             }
                                         }
                                       else
@@ -2795,7 +2795,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx101x0xxxxxx01x01011xxx
                                                  cls.  */
-                                              return 560;
+                                              return 670;
                                             }
                                           else
                                             {
@@ -2803,7 +2803,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx101x1xxxxxx01x01011xxx
                                                  crc32ch.  */
-                                              return 577;
+                                              return 687;
                                             }
                                         }
                                     }
@@ -2822,7 +2822,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx11000xxxxxx0xx01011x0x
                                                      sdiv.  */
-                                                  return 563;
+                                                  return 673;
                                                 }
                                               else
                                                 {
@@ -2830,7 +2830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx11000xxxxxx0xx01011x1x
                                                      rev.  */
-                                                  return 558;
+                                                  return 667;
                                                 }
                                             }
                                           else
@@ -2839,7 +2839,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx11001xxxxxx0xx01011xxx
                                                  crc32x.  */
-                                              return 575;
+                                              return 685;
                                             }
                                         }
                                       else
@@ -2848,7 +2848,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx1101xxxxxxx0xx01011xxx
                                              rorv.  */
-                                          return 570;
+                                          return 680;
                                         }
                                     }
                                   else
@@ -2857,7 +2857,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx111xxxxxxxx0xx01011xxx
                                          crc32cx.  */
-                                      return 579;
+                                      return 689;
                                     }
                                 }
                             }
@@ -2873,7 +2873,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxx1xx0101x00x
                                  bic.  */
-                              return 767;
+                              return 927;
                             }
                           else
                             {
@@ -2881,7 +2881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxx1xx0101x01x
                                  eon.  */
-                              return 774;
+                              return 934;
                             }
                         }
                       else
@@ -2892,7 +2892,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxx1xx0101x10x
                                  orn.  */
-                              return 771;
+                              return 931;
                             }
                           else
                             {
@@ -2900,7 +2900,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxx1xx0101x11x
                                  bics.  */
-                              return 777;
+                              return 937;
                             }
                         }
                     }
@@ -2920,7 +2920,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx01100x00x
                                  sbfm.  */
-                              return 501;
+                              return 609;
                             }
                           else
                             {
@@ -2928,7 +2928,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxx01100x01x
                                  ubfm.  */
-                              return 511;
+                              return 620;
                             }
                         }
                       else
@@ -2937,7 +2937,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxx01100x1xx
                              bfm.  */
-                          return 508;
+                          return 616;
                         }
                     }
                   else
@@ -2946,7 +2946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxx11100xxxx
                          extr.  */
-                      return 602;
+                      return 712;
                     }
                 }
               else
@@ -3004,7 +3004,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxx0xxxxx00x11011xxx
                                      madd.  */
-                                  return 580;
+                                  return 690;
                                 }
                               else
                                 {
@@ -3014,7 +3014,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx0xxxxx01011011xxx
                                          smulh.  */
-                                      return 588;
+                                      return 698;
                                     }
                                   else
                                     {
@@ -3022,7 +3022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx0xxxxx01111011xxx
                                          umulh.  */
-                                      return 593;
+                                      return 703;
                                     }
                                 }
                             }
@@ -3032,7 +3032,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxx1xxxxx0xx11011xxx
                                  msub.  */
-                              return 582;
+                              return 692;
                             }
                         }
                     }
@@ -3089,7 +3089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxx0xxxxx1x011011xxx
                                      smaddl.  */
-                                  return 584;
+                                  return 694;
                                 }
                               else
                                 {
@@ -3097,7 +3097,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxx1xxxxx1x011011xxx
                                      smsubl.  */
-                                  return 586;
+                                  return 696;
                                 }
                             }
                         }
@@ -3109,7 +3109,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxx0xxxxx1x11101xxxx
                                  umaddl.  */
-                              return 589;
+                              return 699;
                             }
                           else
                             {
@@ -3117,7 +3117,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxx1xxxxx1x11101xxxx
                                  umsubl.  */
-                              return 591;
+                              return 701;
                             }
                         }
                     }
@@ -3139,7 +3139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxxxx10x000
                          b.  */
-                      return 518;
+                      return 627;
                     }
                   else
                     {
@@ -3147,7 +3147,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxxxx10x001
                          bl.  */
-                      return 519;
+                      return 628;
                     }
                 }
               else
@@ -3162,7 +3162,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxxxx0010x010
                                  b.c.  */
-                              return 527;
+                              return 636;
                             }
                           else
                             {
@@ -3176,7 +3176,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              00xxxxxxxxxxxxxxxxxxx0xx0010x011
                                              hlt.  */
-                                          return 598;
+                                          return 708;
                                         }
                                       else
                                         {
@@ -3184,7 +3184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              00xxxxxxxxxxxxxxxxxxx1xx0010x011
                                              brk.  */
-                                          return 597;
+                                          return 707;
                                         }
                                     }
                                   else
@@ -3195,7 +3195,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              01xxxxxxxxxxxxxxxxxxx0xx0010x011
                                              hvc.  */
-                                          return 595;
+                                          return 705;
                                         }
                                       else
                                         {
@@ -3203,7 +3203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              01xxxxxxxxxxxxxxxxxxx1xx0010x011
                                              dcps2.  */
-                                          return 600;
+                                          return 710;
                                         }
                                     }
                                 }
@@ -3217,7 +3217,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              10xxxxxxxxxxxxxxxxxxx0xx0010x011
                                              svc.  */
-                                          return 594;
+                                          return 704;
                                         }
                                       else
                                         {
@@ -3225,7 +3225,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              10xxxxxxxxxxxxxxxxxxx1xx0010x011
                                              dcps1.  */
-                                          return 599;
+                                          return 709;
                                         }
                                     }
                                   else
@@ -3236,7 +3236,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              11xxxxxxxxxxxxxxxxxxx0xx0010x011
                                              smc.  */
-                                          return 596;
+                                          return 706;
                                         }
                                       else
                                         {
@@ -3244,7 +3244,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              11xxxxxxxxxxxxxxxxxxx1xx0010x011
                                              dcps3.  */
-                                          return 601;
+                                          return 711;
                                         }
                                     }
                                 }
@@ -3262,7 +3262,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxx0000110x01x
                                          br.  */
-                                      return 520;
+                                      return 629;
                                     }
                                   else
                                     {
@@ -3270,7 +3270,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxx0010110x01x
                                          eret.  */
-                                      return 523;
+                                      return 632;
                                     }
                                 }
                               else
@@ -3279,7 +3279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx01x0110x01x
                                      ret.  */
-                                  return 522;
+                                  return 631;
                                 }
                             }
                           else
@@ -3290,7 +3290,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx1x00110x01x
                                      blr.  */
-                                  return 521;
+                                  return 630;
                                 }
                               else
                                 {
@@ -3298,7 +3298,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxx1x10110x01x
                                      drps.  */
-                                  return 524;
+                                  return 633;
                                 }
                             }
                         }
@@ -3311,7 +3311,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxx0xx1x10x01x
                              msr.  */
-                          return 957;
+                          return 1117;
                         }
                       else
                         {
@@ -3319,7 +3319,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxx1xx1x10x01x
                              sysl.  */
-                          return 975;
+                          return 1137;
                         }
                     }
                 }
@@ -3334,7 +3334,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx0010x1xx
                          cbz.  */
-                      return 525;
+                      return 634;
                     }
                   else
                     {
@@ -3342,7 +3342,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx0110x1xx
                          tbz.  */
-                      return 977;
+                      return 1139;
                     }
                 }
               else
@@ -3353,7 +3353,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx1010x1xx
                          cbnz.  */
-                      return 526;
+                      return 635;
                     }
                   else
                     {
@@ -3361,7 +3361,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                          10987654321098765432109876543210
                          xxxxxxxxxxxxxxxxxxxxxxxx1110x1xx
                          tbnz.  */
-                      return 978;
+                      return 1140;
                     }
                 }
             }
@@ -3384,7 +3384,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx00001100xx
                                      st4.  */
-                                  return 361;
+                                  return 431;
                                 }
                               else
                                 {
@@ -3392,7 +3392,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx00001101xx
                                      stnp.  */
-                                  return 743;
+                                  return 903;
                                 }
                             }
                           else
@@ -3407,7 +3407,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx000101100xx
                                              st1.  */
-                                          return 377;
+                                          return 447;
                                         }
                                       else
                                         {
@@ -3415,7 +3415,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx100101100xx
                                              st2.  */
-                                          return 379;
+                                          return 449;
                                         }
                                     }
                                   else
@@ -3426,7 +3426,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx000101100xx
                                              st3.  */
-                                          return 378;
+                                          return 448;
                                         }
                                       else
                                         {
@@ -3434,7 +3434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx100101100xx
                                              st4.  */
-                                          return 380;
+                                          return 450;
                                         }
                                     }
                                 }
@@ -3444,7 +3444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx00101101xx
                                      stp.  */
-                                  return 747;
+                                  return 907;
                                 }
                             }
                         }
@@ -3460,7 +3460,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxx001001100xx
                                          st4.  */
-                                      return 369;
+                                      return 439;
                                     }
                                   else
                                     {
@@ -3470,7 +3470,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx001101100xx
                                              st1.  */
-                                          return 389;
+                                          return 459;
                                         }
                                       else
                                         {
@@ -3478,7 +3478,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx001101100xx
                                              st3.  */
-                                          return 390;
+                                          return 460;
                                         }
                                     }
                                 }
@@ -3490,7 +3490,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxx0xxxxxxx101x01100xx
                                          st2.  */
-                                      return 391;
+                                      return 461;
                                     }
                                   else
                                     {
@@ -3498,7 +3498,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxx1xxxxxxx101x01100xx
                                          st4.  */
-                                      return 392;
+                                      return 462;
                                     }
                                 }
                             }
@@ -3508,7 +3508,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxx01x01101xx
                                  stp.  */
-                              return 752;
+                              return 912;
                             }
                         }
                     }
@@ -3524,7 +3524,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10001100xx
                                      ld4.  */
-                                  return 365;
+                                  return 435;
                                 }
                               else
                                 {
@@ -3532,7 +3532,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10001101xx
                                      ldnp.  */
-                                  return 744;
+                                  return 904;
                                 }
                             }
                           else
@@ -3547,7 +3547,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx010101100xx
                                              ld1.  */
-                                          return 381;
+                                          return 451;
                                         }
                                       else
                                         {
@@ -3555,7 +3555,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx110101100xx
                                              ld2.  */
-                                          return 385;
+                                          return 455;
                                         }
                                     }
                                   else
@@ -3566,7 +3566,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx010101100xx
                                              ld3.  */
-                                          return 382;
+                                          return 452;
                                         }
                                       else
                                         {
@@ -3574,7 +3574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx110101100xx
                                              ld4.  */
-                                          return 386;
+                                          return 456;
                                         }
                                     }
                                 }
@@ -3584,7 +3584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxxxxxxxxxxxxxx10101101xx
                                      ldp.  */
-                                  return 748;
+                                  return 908;
                                 }
                             }
                         }
@@ -3600,7 +3600,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxxxxxxxx011001100xx
                                          ld4.  */
-                                      return 373;
+                                      return 443;
                                     }
                                   else
                                     {
@@ -3610,7 +3610,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx0xxxxxxx011101100xx
                                              ld1.  */
-                                          return 393;
+                                          return 463;
                                         }
                                       else
                                         {
@@ -3618,7 +3618,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxxx1xxxxxxx011101100xx
                                              ld3.  */
-                                          return 394;
+                                          return 464;
                                         }
                                     }
                                 }
@@ -3630,7 +3630,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxx0xxxxxxx111x01100xx
                                          ld2.  */
-                                      return 397;
+                                      return 467;
                                     }
                                   else
                                     {
@@ -3638,7 +3638,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxx1xxxxxxx111x01100xx
                                          ld4.  */
-                                      return 398;
+                                      return 468;
                                     }
                                 }
                             }
@@ -3648,7 +3648,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxxxxxxxxxxxxxxxxxxxx11x01101xx
                                  ldp.  */
-                              return 753;
+                              return 913;
                             }
                         }
                     }
@@ -3663,7 +3663,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxxxx001110xx
                              ldr.  */
-                          return 756;
+                          return 916;
                         }
                       else
                         {
@@ -3677,7 +3677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx00xxxxxxxxxx0x001111xx
                                          stur.  */
-                                      return 704;
+                                      return 864;
                                     }
                                   else
                                     {
@@ -3685,7 +3685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx00xxxxxxxxxx1x001111xx
                                          ldur.  */
-                                      return 705;
+                                      return 865;
                                     }
                                 }
                               else
@@ -3696,7 +3696,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx01xxxxxxxxxx0x001111xx
                                          str.  */
-                                      return 683;
+                                      return 843;
                                     }
                                   else
                                     {
@@ -3704,7 +3704,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx01xxxxxxxxxx1x001111xx
                                          ldr.  */
-                                      return 684;
+                                      return 844;
                                     }
                                 }
                             }
@@ -3716,7 +3716,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxx1xxxxxxxxxxx0x001111xx
                                      str.  */
-                                  return 660;
+                                  return 820;
                                 }
                               else
                                 {
@@ -3724,7 +3724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxx1xxxxxxxxxxx1x001111xx
                                      ldr.  */
-                                  return 661;
+                                  return 821;
                                 }
                             }
                         }
@@ -3737,7 +3737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxx0x10111xxx
                              str.  */
-                          return 671;
+                          return 831;
                         }
                       else
                         {
@@ -3745,7 +3745,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                              10987654321098765432109876543210
                              xxxxxxxxxxxxxxxxxxxxxx1x10111xxx
                              ldr.  */
-                          return 672;
+                          return 832;
                         }
                     }
                 }
@@ -3770,7 +3770,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx000xxxxxxxx0xx011100xx
                                              tbl.  */
-                                          return 345;
+                                          return 411;
                                         }
                                       else
                                         {
@@ -3778,7 +3778,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx001xxxxxxxx0xx011100xx
                                              tbx.  */
-                                          return 346;
+                                          return 412;
                                         }
                                     }
                                   else
@@ -3791,7 +3791,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx010x0xxxxxx0xx011100xx
                                                  trn1.  */
-                                              return 218;
+                                              return 256;
                                             }
                                           else
                                             {
@@ -3799,7 +3799,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx010x1xxxxxx0xx011100xx
                                                  trn2.  */
-                                              return 221;
+                                              return 259;
                                             }
                                         }
                                       else
@@ -3812,7 +3812,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01100xxxxxx0xx011100xx
                                                      uzp1.  */
-                                                  return 217;
+                                                  return 255;
                                                 }
                                               else
                                                 {
@@ -3820,7 +3820,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01101xxxxxx0xx011100xx
                                                      uzp2.  */
-                                                  return 220;
+                                                  return 258;
                                                 }
                                             }
                                           else
@@ -3831,7 +3831,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01110xxxxxx0xx011100xx
                                                      zip1.  */
-                                                  return 219;
+                                                  return 257;
                                                 }
                                               else
                                                 {
@@ -3839,7 +3839,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx01111xxxxxx0xx011100xx
                                                      zip2.  */
-                                                  return 222;
+                                                  return 260;
                                                 }
                                             }
                                         }
@@ -3851,319 +3851,682 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      xxxxxxxxxx0xxxxxxxxxx0xx011101xx
                                      ext.  */
-                                  return 121;
+                                  return 129;
                                 }
                             }
                           else
                             {
                               if (((word >> 15) & 0x1) == 0)
                                 {
-                                  if (((word >> 29) & 0x1) == 0)
+                                  if (((word >> 22) & 0x1) == 0)
                                     {
-                                      if (((word >> 11) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxxxxxxxx10xxx0xxxxx0xx011100xx
-                                             dup.  */
-                                          return 137;
-                                        }
-                                      else
+                                      if (((word >> 29) & 0x1) == 0)
                                         {
-                                          if (((word >> 12) & 0x1) == 0)
+                                          if (((word >> 11) & 0x1) == 0)
                                             {
-                                              if (((word >> 13) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxx1100x0xxxxx0xx011100xx
-                                                     dup.  */
-                                                  return 138;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxx1101x0xxxxx0xx011100xx
-                                                     smov.  */
-                                                  return 139;
-                                                }
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxx10xxx0xxxxx00x011100xx
+                                                 dup.  */
+                                              return 146;
                                             }
                                           else
                                             {
-                                              if (((word >> 13) & 0x1) == 0)
+                                              if (((word >> 12) & 0x1) == 0)
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxx1110x0xxxxx0xx011100xx
-                                                     ins.  */
-                                                  return 142;
+                                                  if (((word >> 13) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx1100x0xxxxx00x011100xx
+                                                         dup.  */
+                                                      return 147;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx1101x0xxxxx00x011100xx
+                                                         smov.  */
+                                                      return 148;
+                                                    }
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxx1111x0xxxxx0xx011100xx
-                                                     umov.  */
-                                                  return 140;
+                                                  if (((word >> 13) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx1110x0xxxxx00x011100xx
+                                                         ins.  */
+                                                      return 151;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx1111x0xxxxx00x011100xx
+                                                         umov.  */
+                                                      return 149;
+                                                    }
                                                 }
                                             }
                                         }
-                                    }
-                                  else
-                                    {
-                                      /* 33222222222211111111110000000000
-                                         10987654321098765432109876543210
-                                         xxxxxxxxxx1xxxx0xxxxx0xx011101xx
-                                         ins.  */
-                                      return 144;
-                                    }
-                                }
-                              else
-                                {
-                                  if (((word >> 11) & 0x1) == 0)
-                                    {
-                                      /* 33222222222211111111110000000000
-                                         10987654321098765432109876543210
-                                         xxxxxxxxxx10xxx1xxxxx0xx01110xxx
-                                         sqrdmlah.  */
-                                      return 301;
-                                    }
-                                  else
-                                    {
-                                      /* 33222222222211111111110000000000
-                                         10987654321098765432109876543210
-                                         xxxxxxxxxx11xxx1xxxxx0xx01110xxx
-                                         sqrdmlsh.  */
-                                      return 302;
-                                    }
-                                }
-                            }
-                        }
-                      else
-                        {
-                          if (((word >> 29) & 0x1) == 0)
-                            {
-                              if (((word >> 30) & 0x1) == 0)
-                                {
-                                  if (((word >> 16) & 0x1) == 0)
-                                    {
-                                      if (((word >> 17) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxxx00xxx0xx0111100x
-                                             fcvtzs.  */
-                                          return 606;
-                                        }
-                                      else
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxxx01xxx0xx0111100x
-                                             scvtf.  */
-                                          return 604;
-                                        }
-                                    }
-                                  else
-                                    {
-                                      if (((word >> 17) & 0x1) == 0)
-                                        {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxxx10xxx0xx0111100x
-                                             fcvtzu.  */
-                                          return 607;
-                                        }
                                       else
                                         {
                                           /* 33222222222211111111110000000000
                                              10987654321098765432109876543210
-                                             xxxxxxxxxxxxxxxx11xxx0xx0111100x
-                                             ucvtf.  */
-                                          return 605;
-                                        }
-                                    }
-                                }
-                              else
-                                {
-                                  if (((word >> 10) & 0x1) == 0)
-                                    {
-                                      if (((word >> 12) & 0x1) == 0)
-                                        {
-                                          if (((word >> 13) & 0x1) == 0)
-                                            {
-                                              if (((word >> 14) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxx0x000xxxxxx0xx0111101x
-                                                     sha1c.  */
-                                                  return 548;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxx0x001xxxxxx0xx0111101x
-                                                     sha256h.  */
-                                                  return 552;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 14) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxx0x010xxxxxx0xx0111101x
-                                                     sha1m.  */
-                                                  return 550;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxx0x011xxxxxx0xx0111101x
-                                                     sha256su1.  */
-                                                  return 554;
-                                                }
-                                            }
-                                        }
-                                      else
-                                        {
-                                          if (((word >> 13) & 0x1) == 0)
-                                            {
-                                              if (((word >> 14) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxx0x100xxxxxx0xx0111101x
-                                                     sha1p.  */
-                                                  return 549;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxx0x101xxxxxx0xx0111101x
-                                                     sha256h2.  */
-                                                  return 553;
-                                                }
-                                            }
-                                          else
-                                            {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x11xxxxxxx0xx0111101x
-                                                 sha1su0.  */
-                                              return 551;
-                                            }
+                                             xxxxxxxxxx1xxxx0xxxxx00x011101xx
+                                             ins.  */
+                                          return 153;
                                         }
                                     }
                                   else
                                     {
-                                      /* 33222222222211111111110000000000
-                                         10987654321098765432109876543210
-                                         xxxxxxxxxx1xxxxxxxxxx0xx0111101x
-                                         dup.  */
-                                      return 436;
-                                    }
-                                }
-                            }
-                          else
-                            {
-                              if (((word >> 11) & 0x1) == 0)
-                                {
-                                  /* 33222222222211111111110000000000
-                                     10987654321098765432109876543210
-                                     xxxxxxxxxxx0xxxxxxxxx0xx011111xx
-                                     sqrdmlah.  */
-                                  return 475;
-                                }
-                              else
-                                {
-                                  /* 33222222222211111111110000000000
-                                     10987654321098765432109876543210
-                                     xxxxxxxxxxx1xxxxxxxxx0xx011111xx
-                                     sqrdmlsh.  */
-                                  return 476;
-                                }
-                            }
-                        }
-                    }
-                  else
-                    {
-                      if (((word >> 10) & 0x1) == 0)
-                        {
-                          if (((word >> 11) & 0x1) == 0)
-                            {
-                              if (((word >> 12) & 0x1) == 0)
-                                {
-                                  if (((word >> 13) & 0x1) == 0)
-                                    {
-                                      if (((word >> 14) & 0x1) == 0)
+                                      if (((word >> 11) & 0x1) == 0)
                                         {
-                                          if (((word >> 15) & 0x1) == 0)
+                                          if (((word >> 12) & 0x1) == 0)
                                             {
-                                              if (((word >> 28) & 0x1) == 0)
+                                              if (((word >> 13) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 29) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 30) & 0x1) == 0)
+                                                      if (((word >> 29) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000000xxxxx1xx0111000x
-                                                             saddl.  */
-                                                          return 38;
+                                                             xxxxxxxxxx1000x0xxxxx010011100xx
+                                                             fmaxnm.  */
+                                                          return 285;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000000xxxxx1xx0111001x
-                                                             saddl2.  */
-                                                          return 39;
+                                                             xxxxxxxxxx1000x0xxxxx010011101xx
+                                                             fmaxnmp.  */
+                                                          return 336;
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 30) & 0x1) == 0)
+                                                      if (((word >> 29) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000000xxxxx1xx0111010x
-                                                             uaddl.  */
-                                                          return 70;
+                                                             xxxxxxxxxx1000x0xxxxx011011100xx
+                                                             fminnm.  */
+                                                          return 301;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx000000xxxxx1xx0111011x
-                                                             uaddl2.  */
-                                                          return 71;
+                                                             xxxxxxxxxx1000x0xxxxx011011101xx
+                                                             fminnmp.  */
+                                                          return 352;
                                                         }
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 16) & 0x1) == 0)
+                                                  if (((word >> 23) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 17) & 0x1) == 0)
+                                                      if (((word >> 29) & 0x1) == 0)
                                                         {
-                                                          if (((word >> 18) & 0x1) == 0)
-                                                            {
-                                                              if (((word >> 19) & 0x1) == 0)
-                                                                {
-                                                                  if (((word >> 20) & 0x1) == 0)
-                                                                    {
-                                                                      /* 33222222222211111111110000000000
-                                                                         10987654321098765432109876543210
-                                                                         xxxxxxxxxx000000000001xx01111xxx
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx1001x0xxxxx010011100xx
+                                                             fcmeq.  */
+                                                          return 293;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx1001x0xxxxx010011101xx
+                                                             fcmge.  */
+                                                          return 342;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx1001x0xxxxx01101110xxx
+                                                         fcmgt.  */
+                                                      return 356;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 13) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 29) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx1010x0xxxxx010011100xx
+                                                             fadd.  */
+                                                          return 289;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx1010x0xxxxx010011101xx
+                                                             faddp.  */
+                                                          return 338;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 29) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx1010x0xxxxx011011100xx
+                                                             fsub.  */
+                                                          return 305;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx1010x0xxxxx011011101xx
+                                                             fabd.  */
+                                                          return 354;
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 29) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx1011x0xxxxx010011100xx
+                                                             fmax.  */
+                                                          return 295;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx1011x0xxxxx010011101xx
+                                                             fmaxp.  */
+                                                          return 346;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 29) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx1011x0xxxxx011011100xx
+                                                             fmin.  */
+                                                          return 307;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx1011x0xxxxx011011101xx
+                                                             fminp.  */
+                                                          return 360;
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 12) & 0x1) == 0)
+                                            {
+                                              if (((word >> 13) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx1100x0xxxxx01001110xxx
+                                                         fmla.  */
+                                                      return 287;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx1100x0xxxxx01101110xxx
+                                                         fmls.  */
+                                                      return 303;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx1101x0xxxxx01001110xxx
+                                                         facge.  */
+                                                      return 344;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx1101x0xxxxx01101110xxx
+                                                         facgt.  */
+                                                      return 358;
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 13) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 29) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx1110x0xxxxx01x011100xx
+                                                         fmulx.  */
+                                                      return 291;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx1110x0xxxxx01x011101xx
+                                                         fmul.  */
+                                                      return 340;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 29) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx1111x0xxxxx010011100xx
+                                                             frecps.  */
+                                                          return 297;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx1111x0xxxxx010011101xx
+                                                             fdiv.  */
+                                                          return 348;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx1111x0xxxxx01101110xxx
+                                                         frsqrts.  */
+                                                      return 309;
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                              else
+                                {
+                                  if (((word >> 11) & 0x1) == 0)
+                                    {
+                                      /* 33222222222211111111110000000000
+                                         10987654321098765432109876543210
+                                         xxxxxxxxxx10xxx1xxxxx0xx01110xxx
+                                         sqrdmlah.  */
+                                      return 363;
+                                    }
+                                  else
+                                    {
+                                      /* 33222222222211111111110000000000
+                                         10987654321098765432109876543210
+                                         xxxxxxxxxx11xxx1xxxxx0xx01110xxx
+                                         sqrdmlsh.  */
+                                      return 364;
+                                    }
+                                }
+                            }
+                        }
+                      else
+                        {
+                          if (((word >> 29) & 0x1) == 0)
+                            {
+                              if (((word >> 30) & 0x1) == 0)
+                                {
+                                  if (((word >> 16) & 0x1) == 0)
+                                    {
+                                      if (((word >> 17) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxxx00xxx0xx0111100x
+                                             fcvtzs.  */
+                                          return 718;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxxx01xxx0xx0111100x
+                                             scvtf.  */
+                                          return 714;
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 17) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxxx10xxx0xx0111100x
+                                             fcvtzu.  */
+                                          return 720;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxxxxxxx11xxx0xx0111100x
+                                             ucvtf.  */
+                                          return 716;
+                                        }
+                                    }
+                                }
+                              else
+                                {
+                                  if (((word >> 10) & 0x1) == 0)
+                                    {
+                                      if (((word >> 12) & 0x1) == 0)
+                                        {
+                                          if (((word >> 13) & 0x1) == 0)
+                                            {
+                                              if (((word >> 14) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x000xxxxxx0xx0111101x
+                                                     sha1c.  */
+                                                  return 657;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x001xxxxxx0xx0111101x
+                                                     sha256h.  */
+                                                  return 661;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 14) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x010xxxxxx0xx0111101x
+                                                     sha1m.  */
+                                                  return 659;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x011xxxxxx0xx0111101x
+                                                     sha256su1.  */
+                                                  return 663;
+                                                }
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 13) & 0x1) == 0)
+                                            {
+                                              if (((word >> 14) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x100xxxxxx0xx0111101x
+                                                     sha1p.  */
+                                                  return 658;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x101xxxxxx0xx0111101x
+                                                     sha256h2.  */
+                                                  return 662;
+                                                }
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxx0x11xxxxxxx0xx0111101x
+                                                 sha1su0.  */
+                                              return 660;
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 11) & 0x1) == 0)
+                                        {
+                                          if (((word >> 13) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxx10x0xxxxxxx0xx0111101x
+                                                 dup.  */
+                                              return 526;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxx10x1xxxxxxx0xx0111101x
+                                                 fcmeq.  */
+                                              return 547;
+                                            }
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 13) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxx11x0xxxxxxx0xx0111101x
+                                                 fmulx.  */
+                                              return 545;
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx11x1xxxxxxx0x00111101x
+                                                     frecps.  */
+                                                  return 549;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx11x1xxxxxxx0x10111101x
+                                                     frsqrts.  */
+                                                  return 551;
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                          else
+                            {
+                              if (((word >> 11) & 0x1) == 0)
+                                {
+                                  if (((word >> 12) & 0x1) == 0)
+                                    {
+                                      if (((word >> 13) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxx000xxxxxxx0xx011111xx
+                                             sqrdmlah.  */
+                                          return 579;
+                                        }
+                                      else
+                                        {
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxx001xxxxxxx0x0011111xx
+                                                 fcmge.  */
+                                              return 564;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxxx001xxxxxxx0x1011111xx
+                                                 fcmgt.  */
+                                              return 570;
+                                            }
+                                        }
+                                    }
+                                  else
+                                    {
+                                      /* 33222222222211111111110000000000
+                                         10987654321098765432109876543210
+                                         xxxxxxxxxxx01xxxxxxxx0xx011111xx
+                                         fabd.  */
+                                      return 568;
+                                    }
+                                }
+                              else
+                                {
+                                  if (((word >> 13) & 0x1) == 0)
+                                    {
+                                      /* 33222222222211111111110000000000
+                                         10987654321098765432109876543210
+                                         xxxxxxxxxxx1x0xxxxxxx0xx011111xx
+                                         sqrdmlsh.  */
+                                      return 580;
+                                    }
+                                  else
+                                    {
+                                      if (((word >> 23) & 0x1) == 0)
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxx1x1xxxxxxx0x0011111xx
+                                             facge.  */
+                                          return 566;
+                                        }
+                                      else
+                                        {
+                                          /* 33222222222211111111110000000000
+                                             10987654321098765432109876543210
+                                             xxxxxxxxxxx1x1xxxxxxx0x1011111xx
+                                             facgt.  */
+                                          return 572;
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                  else
+                    {
+                      if (((word >> 10) & 0x1) == 0)
+                        {
+                          if (((word >> 11) & 0x1) == 0)
+                            {
+                              if (((word >> 12) & 0x1) == 0)
+                                {
+                                  if (((word >> 13) & 0x1) == 0)
+                                    {
+                                      if (((word >> 14) & 0x1) == 0)
+                                        {
+                                          if (((word >> 15) & 0x1) == 0)
+                                            {
+                                              if (((word >> 28) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 29) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 30) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx000000xxxxx1xx0111000x
+                                                             saddl.  */
+                                                          return 42;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx000000xxxxx1xx0111001x
+                                                             saddl2.  */
+                                                          return 43;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 30) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx000000xxxxx1xx0111010x
+                                                             uaddl.  */
+                                                          return 74;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx000000xxxxx1xx0111011x
+                                                             uaddl2.  */
+                                                          return 75;
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 16) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 17) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 18) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 19) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 20) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx000000000001xx01111xxx
                                                                          fcvtns.  */
-                                                                      return 608;
+                                                                      return 722;
                                                                     }
                                                                   else
                                                                     {
@@ -4171,7 +4534,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000000011xx01111xxx
                                                                          fcvtms.  */
-                                                                      return 618;
+                                                                      return 742;
                                                                     }
                                                                 }
                                                               else
@@ -4182,7 +4545,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000000101xx01111xxx
                                                                          fcvtps.  */
-                                                                      return 616;
+                                                                      return 738;
                                                                     }
                                                                   else
                                                                     {
@@ -4190,7 +4553,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000000111xx01111xxx
                                                                          fcvtzs.  */
-                                                                      return 620;
+                                                                      return 746;
                                                                     }
                                                                 }
                                                             }
@@ -4200,7 +4563,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000000001xx1xx01111xxx
                                                                  fcvtas.  */
-                                                              return 612;
+                                                              return 730;
                                                             }
                                                         }
                                                       else
@@ -4211,7 +4574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000000010xx1xx01111xxx
                                                                  scvtf.  */
-                                                              return 610;
+                                                              return 726;
                                                             }
                                                           else
                                                             {
@@ -4221,7 +4584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0000000110x1xx01111xxx
                                                                      fmov.  */
-                                                                  return 614;
+                                                                  return 734;
                                                                 }
                                                               else
                                                                 {
@@ -4229,7 +4592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0000000111x1xx01111xxx
                                                                      fmov.  */
-                                                                  return 622;
+                                                                  return 750;
                                                                 }
                                                             }
                                                         }
@@ -4248,7 +4611,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000100001xx01111xxx
                                                                          fcvtnu.  */
-                                                                      return 609;
+                                                                      return 724;
                                                                     }
                                                                   else
                                                                     {
@@ -4256,7 +4619,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000100011xx01111xxx
                                                                          fcvtmu.  */
-                                                                      return 619;
+                                                                      return 744;
                                                                     }
                                                                 }
                                                               else
@@ -4267,7 +4630,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000100101xx01111xxx
                                                                          fcvtpu.  */
-                                                                      return 617;
+                                                                      return 740;
                                                                     }
                                                                   else
                                                                     {
@@ -4275,7 +4638,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          xxxxxxxxxx000000100111xx01111xxx
                                                                          fcvtzu.  */
-                                                                      return 621;
+                                                                      return 748;
                                                                     }
                                                                 }
                                                             }
@@ -4285,7 +4648,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000000101xx1xx01111xxx
                                                                  fcvtau.  */
-                                                              return 613;
+                                                              return 732;
                                                             }
                                                         }
                                                       else
@@ -4296,7 +4659,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000000110xx1xx01111xxx
                                                                  ucvtf.  */
-                                                              return 611;
+                                                              return 728;
                                                             }
                                                           else
                                                             {
@@ -4306,7 +4669,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0000001110x1xx01111xxx
                                                                      fmov.  */
-                                                                  return 615;
+                                                                  return 736;
                                                                 }
                                                               else
                                                                 {
@@ -4314,7 +4677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xxxxxxxxxx0000001111x1xx01111xxx
                                                                      fmov.  */
-                                                                  return 623;
+                                                                  return 751;
                                                                 }
                                                             }
                                                         }
@@ -4331,7 +4694,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx000001xxxxx1xx0111x00x
                                                          smlal.  */
-                                                      return 54;
+                                                      return 58;
                                                     }
                                                   else
                                                     {
@@ -4339,7 +4702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx000001xxxxx1xx0111x01x
                                                          smlal2.  */
-                                                      return 55;
+                                                      return 59;
                                                     }
                                                 }
                                               else
@@ -4350,7 +4713,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx000001xxxxx1xx0111x10x
                                                          umlal.  */
-                                                      return 86;
+                                                      return 90;
                                                     }
                                                   else
                                                     {
@@ -4358,7 +4721,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx000001xxxxx1xx0111x11x
                                                          umlal2.  */
-                                                      return 87;
+                                                      return 91;
                                                     }
                                                 }
                                             }
@@ -4377,7 +4740,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000010xxxxx1xx0111000x
                                                              addhn.  */
-                                                          return 46;
+                                                          return 50;
                                                         }
                                                       else
                                                         {
@@ -4385,7 +4748,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000010xxxxx1xx0111001x
                                                              addhn2.  */
-                                                          return 47;
+                                                          return 51;
                                                         }
                                                     }
                                                   else
@@ -4396,7 +4759,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000010xxxxx1xx0111010x
                                                              raddhn.  */
-                                                          return 78;
+                                                          return 82;
                                                         }
                                                       else
                                                         {
@@ -4404,7 +4767,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000010xxxxx1xx0111011x
                                                              raddhn2.  */
-                                                          return 79;
+                                                          return 83;
                                                         }
                                                     }
                                                 }
@@ -4418,7 +4781,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000011xxxxx1xx0111000x
                                                              smull.  */
-                                                          return 62;
+                                                          return 66;
                                                         }
                                                       else
                                                         {
@@ -4426,7 +4789,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000011xxxxx1xx0111001x
                                                              smull2.  */
-                                                          return 63;
+                                                          return 67;
                                                         }
                                                     }
                                                   else
@@ -4437,7 +4800,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000011xxxxx1xx0111010x
                                                              umull.  */
-                                                          return 90;
+                                                          return 94;
                                                         }
                                                       else
                                                         {
@@ -4445,7 +4808,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000011xxxxx1xx0111011x
                                                              umull2.  */
-                                                          return 91;
+                                                          return 95;
                                                         }
                                                     }
                                                 }
@@ -4464,7 +4827,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010000xx1xx01111xxx
                                                                  fmov.  */
-                                                              return 630;
+                                                              return 764;
                                                             }
                                                           else
                                                             {
@@ -4472,7 +4835,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010001xx1xx01111xxx
                                                                  frintn.  */
-                                                              return 635;
+                                                              return 773;
                                                             }
                                                         }
                                                       else
@@ -4483,7 +4846,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010100xx1xx01111xxx
                                                                  fneg.  */
-                                                              return 632;
+                                                              return 768;
                                                             }
                                                           else
                                                             {
@@ -4491,7 +4854,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010101xx1xx01111xxx
                                                                  frintm.  */
-                                                              return 637;
+                                                              return 777;
                                                             }
                                                         }
                                                     }
@@ -4505,7 +4868,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011000xx1xx01111xxx
                                                                  fabs.  */
-                                                              return 631;
+                                                              return 766;
                                                             }
                                                           else
                                                             {
@@ -4513,7 +4876,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011001xx1xx01111xxx
                                                                  frintp.  */
-                                                              return 636;
+                                                              return 775;
                                                             }
                                                         }
                                                       else
@@ -4524,7 +4887,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011100xx1xx01111xxx
                                                                  fsqrt.  */
-                                                              return 633;
+                                                              return 770;
                                                             }
                                                           else
                                                             {
@@ -4532,7 +4895,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000011101xx1xx01111xxx
                                                                  frintz.  */
-                                                              return 638;
+                                                              return 779;
                                                             }
                                                         }
                                                     }
@@ -4545,7 +4908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00001xx10xx1xx01111xxx
                                                          fcvt.  */
-                                                      return 634;
+                                                      return 772;
                                                     }
                                                   else
                                                     {
@@ -4557,7 +4920,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010011xx1xx01111xxx
                                                                  frinta.  */
-                                                              return 639;
+                                                              return 781;
                                                             }
                                                           else
                                                             {
@@ -4565,7 +4928,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx000010111xx1xx01111xxx
                                                                  frintx.  */
-                                                              return 640;
+                                                              return 783;
                                                             }
                                                         }
                                                       else
@@ -4574,7 +4937,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000011x11xx1xx01111xxx
                                                              frinti.  */
-                                                          return 641;
+                                                          return 785;
                                                         }
                                                     }
                                                 }
@@ -4597,7 +4960,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000100xxxxx1xx0111000x
                                                              ssubl.  */
-                                                          return 42;
+                                                          return 46;
                                                         }
                                                       else
                                                         {
@@ -4605,7 +4968,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000100xxxxx1xx0111001x
                                                              ssubl2.  */
-                                                          return 43;
+                                                          return 47;
                                                         }
                                                     }
                                                   else
@@ -4616,7 +4979,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000100xxxxx1xx0111010x
                                                              usubl.  */
-                                                          return 74;
+                                                          return 78;
                                                         }
                                                       else
                                                         {
@@ -4624,7 +4987,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx000100xxxxx1xx0111011x
                                                              usubl2.  */
-                                                          return 75;
+                                                          return 79;
                                                         }
                                                     }
                                                 }
@@ -4638,7 +5001,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx00xxxxx000100xxxxx1xx01111xxx
                                                              fcmp.  */
-                                                          return 626;
+                                                          return 756;
                                                         }
                                                       else
                                                         {
@@ -4646,7 +5009,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx01xxxxx000100xxxxx1xx01111xxx
                                                              fcmpe.  */
-                                                          return 627;
+                                                          return 758;
                                                         }
                                                     }
                                                   else
@@ -4657,7 +5020,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx10xxxxx000100xxxxx1xx01111xxx
                                                              fcmp.  */
-                                                          return 628;
+                                                          return 760;
                                                         }
                                                       else
                                                         {
@@ -4665,7 +5028,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx11xxxxx000100xxxxx1xx01111xxx
                                                              fcmpe.  */
-                                                          return 629;
+                                                          return 762;
                                                         }
                                                     }
                                                 }
@@ -4680,7 +5043,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx000101xxxxx1xx0111x00x
                                                          smlsl.  */
-                                                      return 58;
+                                                      return 62;
                                                     }
                                                   else
                                                     {
@@ -4688,7 +5051,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx000101xxxxx1xx0111x01x
                                                          smlsl2.  */
-                                                      return 59;
+                                                      return 63;
                                                     }
                                                 }
                                               else
@@ -4699,7 +5062,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx000101xxxxx1xx0111x10x
                                                          umlsl.  */
-                                                      return 88;
+                                                      return 92;
                                                     }
                                                   else
                                                     {
@@ -4707,7 +5070,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx000101xxxxx1xx0111x11x
                                                          umlsl2.  */
-                                                      return 89;
+                                                      return 93;
                                                     }
                                                 }
                                             }
@@ -4724,7 +5087,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx000110xxxxx1xx0111x00x
                                                          subhn.  */
-                                                      return 50;
+                                                      return 54;
                                                     }
                                                   else
                                                     {
@@ -4732,7 +5095,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx000110xxxxx1xx0111x01x
                                                          subhn2.  */
-                                                      return 51;
+                                                      return 55;
                                                     }
                                                 }
                                               else
@@ -4743,7 +5106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx000110xxxxx1xx0111x10x
                                                          rsubhn.  */
-                                                      return 82;
+                                                      return 86;
                                                     }
                                                   else
                                                     {
@@ -4751,7 +5114,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx000110xxxxx1xx0111x11x
                                                          rsubhn2.  */
-                                                      return 83;
+                                                      return 87;
                                                     }
                                                 }
                                             }
@@ -4765,7 +5128,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx000111xxxxx10x0111xx0x
                                                          pmull.  */
-                                                      return 66;
+                                                      return 70;
                                                     }
                                                   else
                                                     {
@@ -4773,7 +5136,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx000111xxxxx10x0111xx1x
                                                          pmull2.  */
-                                                      return 68;
+                                                      return 72;
                                                     }
                                                 }
                                               else
@@ -4784,7 +5147,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx000111xxxxx11x0111xx0x
                                                          pmull.  */
-                                                      return 67;
+                                                      return 71;
                                                     }
                                                   else
                                                     {
@@ -4792,7 +5155,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx000111xxxxx11x0111xx1x
                                                          pmull2.  */
-                                                      return 69;
+                                                      return 73;
                                                     }
                                                 }
                                             }
@@ -4817,7 +5180,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx001000xxxxx1xx0111000x
                                                              saddw.  */
-                                                          return 40;
+                                                          return 44;
                                                         }
                                                       else
                                                         {
@@ -4825,7 +5188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx001000xxxxx1xx0111001x
                                                              saddw2.  */
-                                                          return 41;
+                                                          return 45;
                                                         }
                                                     }
                                                   else
@@ -4836,7 +5199,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx001000xxxxx1xx0111010x
                                                              uaddw.  */
-                                                          return 72;
+                                                          return 76;
                                                         }
                                                       else
                                                         {
@@ -4844,7 +5207,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx001000xxxxx1xx0111011x
                                                              uaddw2.  */
-                                                          return 73;
+                                                          return 77;
                                                         }
                                                     }
                                                 }
@@ -4856,7 +5219,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx001001xxxxx1xx01110x0x
                                                          sqdmlal.  */
-                                                      return 56;
+                                                      return 60;
                                                     }
                                                   else
                                                     {
@@ -4864,7 +5227,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx001001xxxxx1xx01110x1x
                                                          sqdmlal2.  */
-                                                      return 57;
+                                                      return 61;
                                                     }
                                                 }
                                             }
@@ -4880,7 +5243,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx001010xxxxx1xx0111000x
                                                              sabal.  */
-                                                          return 48;
+                                                          return 52;
                                                         }
                                                       else
                                                         {
@@ -4888,7 +5251,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx001010xxxxx1xx0111001x
                                                              sabal2.  */
-                                                          return 49;
+                                                          return 53;
                                                         }
                                                     }
                                                   else
@@ -4899,7 +5262,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx001010xxxxx1xx0111010x
                                                              uabal.  */
-                                                          return 80;
+                                                          return 84;
                                                         }
                                                       else
                                                         {
@@ -4907,7 +5270,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx001010xxxxx1xx0111011x
                                                              uabal2.  */
-                                                          return 81;
+                                                          return 85;
                                                         }
                                                     }
                                                 }
@@ -4919,7 +5282,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx001011xxxxx1xx01110x0x
                                                          sqdmull.  */
-                                                      return 64;
+                                                      return 68;
                                                     }
                                                   else
                                                     {
@@ -4927,7 +5290,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx001011xxxxx1xx01110x1x
                                                          sqdmull2.  */
-                                                      return 65;
+                                                      return 69;
                                                     }
                                                 }
                                             }
@@ -4946,7 +5309,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx001100xxxxx1xx0111000x
                                                              ssubw.  */
-                                                          return 44;
+                                                          return 48;
                                                         }
                                                       else
                                                         {
@@ -4954,7 +5317,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx001100xxxxx1xx0111001x
                                                              ssubw2.  */
-                                                          return 45;
+                                                          return 49;
                                                         }
                                                     }
                                                   else
@@ -4965,7 +5328,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx001100xxxxx1xx0111010x
                                                              usubw.  */
-                                                          return 76;
+                                                          return 80;
                                                         }
                                                       else
                                                         {
@@ -4973,7 +5336,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx001100xxxxx1xx0111011x
                                                              usubw2.  */
-                                                          return 77;
+                                                          return 81;
                                                         }
                                                     }
                                                 }
@@ -4985,7 +5348,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx001101xxxxx1xx01110x0x
                                                          sqdmlsl.  */
-                                                      return 60;
+                                                      return 64;
                                                     }
                                                   else
                                                     {
@@ -4993,7 +5356,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx001101xxxxx1xx01110x1x
                                                          sqdmlsl2.  */
-                                                      return 61;
+                                                      return 65;
                                                     }
                                                 }
                                             }
@@ -5007,7 +5370,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00111xxxxxx1xx0111000x
                                                          sabdl.  */
-                                                      return 52;
+                                                      return 56;
                                                     }
                                                   else
                                                     {
@@ -5015,7 +5378,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00111xxxxxx1xx0111001x
                                                          sabdl2.  */
-                                                      return 53;
+                                                      return 57;
                                                     }
                                                 }
                                               else
@@ -5026,7 +5389,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00111xxxxxx1xx0111010x
                                                          uabdl.  */
-                                                      return 84;
+                                                      return 88;
                                                     }
                                                   else
                                                     {
@@ -5034,7 +5397,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx00111xxxxxx1xx0111011x
                                                          uabdl2.  */
-                                                      return 85;
+                                                      return 89;
                                                     }
                                                 }
                                             }
@@ -5048,7 +5411,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx001xxxxxxxx1xx01111x0x
                                              fmov.  */
-                                          return 655;
+                                          return 813;
                                         }
                                       else
                                         {
@@ -5060,7 +5423,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00100xxxxxx1xx01111x1x
                                                      sqdmlal.  */
-                                                  return 347;
+                                                  return 413;
                                                 }
                                               else
                                                 {
@@ -5068,7 +5431,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx00101xxxxxx1xx01111x1x
                                                      sqdmull.  */
-                                                  return 349;
+                                                  return 415;
                                                 }
                                             }
                                           else
@@ -5077,7 +5440,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0011xxxxxxx1xx01111x1x
                                                  sqdmlsl.  */
-                                              return 348;
+                                              return 414;
                                             }
                                         }
                                     }
@@ -5101,7 +5464,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010000xxxxx1xx011100xx
                                                          rev64.  */
-                                                      return 146;
+                                                      return 155;
                                                     }
                                                   else
                                                     {
@@ -5109,7 +5472,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010000xxxxx1xx011101xx
                                                          rev32.  */
-                                                      return 182;
+                                                      return 206;
                                                     }
                                                 }
                                               else
@@ -5120,7 +5483,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010000xxxxx1xx01111x0x
                                                          fmul.  */
-                                                      return 642;
+                                                      return 787;
                                                     }
                                                   else
                                                     {
@@ -5128,7 +5491,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010000xxxxx1xx01111x1x
                                                          sha1h.  */
-                                                      return 545;
+                                                      return 654;
                                                     }
                                                 }
                                             }
@@ -5144,7 +5507,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0100010xxxx1xx011100xx
                                                              cmgt.  */
-                                                          return 154;
+                                                          return 163;
                                                         }
                                                       else
                                                         {
@@ -5152,38 +5515,71 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0100010xxxx1xx011101xx
                                                              cmge.  */
-                                                          return 188;
+                                                          return 212;
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 23) & 0x1) == 0)
+                                                      if (((word >> 19) & 0x1) == 0)
                                                         {
-                                                          if (((word >> 29) & 0x1) == 0)
+                                                          if (((word >> 23) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 29) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0100011xx0x1x0011100xx
+                                                                     frintn.  */
+                                                                  return 175;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0100011xx0x1x0011101xx
+                                                                     frinta.  */
+                                                                  return 223;
+                                                                }
+                                                            }
+                                                          else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100011xxxx1x0011100xx
-                                                                 frintn.  */
-                                                              return 166;
+                                                                 xxxxxxxxxx0100011xx0x1x101110xxx
+                                                                 frintp.  */
+                                                              return 195;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 23) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 29) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0100011xx1x1x0011100xx
+                                                                     frintn.  */
+                                                                  return 176;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0100011xx1x1x0011101xx
+                                                                     frinta.  */
+                                                                  return 224;
+                                                                }
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100011xxxx1x0011101xx
-                                                                 frinta.  */
-                                                              return 199;
+                                                                 xxxxxxxxxx0100011xx1x1x101110xxx
+                                                                 frintp.  */
+                                                              return 196;
                                                             }
                                                         }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxx0100011xxxx1x101110xxx
-                                                             frintp.  */
-                                                          return 176;
-                                                        }
                                                     }
                                                 }
                                               else
@@ -5196,7 +5592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010001xxxxx1xx0111100x
                                                              fnmul.  */
-                                                          return 650;
+                                                          return 803;
                                                         }
                                                       else
                                                         {
@@ -5204,7 +5600,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010001xxxxx1xx0111101x
                                                              cmgt.  */
-                                                          return 403;
+                                                          return 473;
                                                         }
                                                     }
                                                   else
@@ -5213,7 +5609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010001xxxxx1xx011111xx
                                                          cmge.  */
-                                                      return 421;
+                                                      return 502;
                                                     }
                                                 }
                                             }
@@ -5234,7 +5630,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100100xx0x1xx011100xx
                                                                  cls.  */
-                                                              return 150;
+                                                              return 159;
                                                             }
                                                           else
                                                             {
@@ -5242,7 +5638,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100100xx0x1xx011101xx
                                                                  clz.  */
-                                                              return 185;
+                                                              return 209;
                                                             }
                                                         }
                                                       else
@@ -5251,7 +5647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0100100xx1x1xx01110xxx
                                                              aese.  */
-                                                          return 541;
+                                                          return 650;
                                                         }
                                                     }
                                                   else
@@ -5264,7 +5660,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100101xxxx1xx0111000x
                                                                  sqxtn.  */
-                                                              return 160;
+                                                              return 169;
                                                             }
                                                           else
                                                             {
@@ -5272,7 +5668,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100101xxxx1xx0111001x
                                                                  sqxtn2.  */
-                                                              return 161;
+                                                              return 170;
                                                             }
                                                         }
                                                       else
@@ -5283,7 +5679,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100101xxxx1xx0111010x
                                                                  uqxtn.  */
-                                                              return 195;
+                                                              return 219;
                                                             }
                                                           else
                                                             {
@@ -5291,7 +5687,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0100101xxxx1xx0111011x
                                                                  uqxtn2.  */
-                                                              return 196;
+                                                              return 220;
                                                             }
                                                         }
                                                     }
@@ -5306,7 +5702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010010xxxxx1xx0111100x
                                                              fmax.  */
-                                                          return 646;
+                                                          return 795;
                                                         }
                                                       else
                                                         {
@@ -5314,7 +5710,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010010xxxxx1xx0111101x
                                                              sqxtn.  */
-                                                          return 407;
+                                                          return 477;
                                                         }
                                                     }
                                                   else
@@ -5323,7 +5719,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010010xxxxx1xx011111xx
                                                          uqxtn.  */
-                                                      return 425;
+                                                      return 506;
                                                     }
                                                 }
                                             }
@@ -5331,7 +5727,136 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               if (((word >> 16) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 20) & 0x1) == 0)
+                                                  if (((word >> 19) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 28) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 29) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0100110xx001xx011100xx
+                                                                     fcmgt.  */
+                                                                  return 187;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0100110xx001xx011101xx
+                                                                     fcmge.  */
+                                                                  return 238;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 29) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0100110xx001xx011110xx
+                                                                     fcmgt.  */
+                                                                  return 486;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0100110xx001xx011111xx
+                                                                     fcmge.  */
+                                                                  return 516;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 23) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 28) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 29) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0100110xx011x0011100xx
+                                                                         fmaxnmv.  */
+                                                                      return 35;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0100110xx011x0011101xx
+                                                                         fmaxnmv.  */
+                                                                      return 34;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 29) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0100110xx011x0011110xx
+                                                                         fmaxnmp.  */
+                                                                      return 530;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0100110xx011x0011111xx
+                                                                         fmaxnmp.  */
+                                                                      return 529;
+                                                                    }
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 28) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 29) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0100110xx011x1011100xx
+                                                                         fminnmv.  */
+                                                                      return 39;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0100110xx011x1011101xx
+                                                                         fminnmv.  */
+                                                                      return 38;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 29) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0100110xx011x1011110xx
+                                                                         fminnmp.  */
+                                                                      return 536;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0100110xx011x1011111xx
+                                                                         fminnmp.  */
+                                                                      return 535;
+                                                                    }
+                                                                }
+                                                            }
+                                                        }
+                                                    }
+                                                  else
                                                     {
                                                       if (((word >> 28) & 0x1) == 0)
                                                         {
@@ -5339,17 +5864,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100110xxx01xx011100xx
+                                                                 xxxxxxxxxx0100110xx1x1xx011100xx
                                                                  fcmgt.  */
-                                                              return 172;
+                                                              return 188;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100110xxx01xx011101xx
+                                                                 xxxxxxxxxx0100110xx1x1xx011101xx
                                                                  fcmge.  */
-                                                              return 208;
+                                                              return 239;
                                                             }
                                                         }
                                                       else
@@ -5358,65 +5883,87 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100110xxx01xx011110xx
+                                                                 xxxxxxxxxx0100110xx1x1xx011110xx
                                                                  fcmgt.  */
-                                                              return 412;
+                                                              return 487;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100110xxx01xx011111xx
+                                                                 xxxxxxxxxx0100110xx1x1xx011111xx
                                                                  fcmge.  */
-                                                              return 431;
+                                                              return 517;
                                                             }
                                                         }
                                                     }
-                                                  else
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 19) & 0x1) == 0)
                                                     {
                                                       if (((word >> 23) & 0x1) == 0)
                                                         {
                                                           if (((word >> 28) & 0x1) == 0)
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100110xxx11x001110xxx
-                                                                 fmaxnmv.  */
-                                                              return 34;
+                                                              if (((word >> 29) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0100111xx0x1x0011100xx
+                                                                     fcvtas.  */
+                                                                  return 183;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0100111xx0x1x0011101xx
+                                                                     fcvtau.  */
+                                                                  return 231;
+                                                                }
                                                             }
                                                           else
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100110xxx11x001111xxx
-                                                                 fmaxnmp.  */
-                                                              return 439;
+                                                              if (((word >> 29) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0100111xx0x1x0011110xx
+                                                                     fcvtas.  */
+                                                                  return 482;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0100111xx0x1x0011111xx
+                                                                     fcvtau.  */
+                                                                  return 512;
+                                                                }
                                                             }
                                                         }
                                                       else
                                                         {
-                                                          if (((word >> 28) & 0x1) == 0)
+                                                          if (((word >> 29) & 0x1) == 0)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100110xxx11x101110xxx
-                                                                 fminnmv.  */
-                                                              return 36;
+                                                                 xxxxxxxxxx0100111xx0x1x10111x0xx
+                                                                 urecpe.  */
+                                                              return 203;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100110xxx11x101111xxx
-                                                                 fminnmp.  */
-                                                              return 442;
+                                                                 xxxxxxxxxx0100111xx0x1x10111x1xx
+                                                                 ursqrte.  */
+                                                              return 250;
                                                             }
                                                         }
                                                     }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  else
                                                     {
                                                       if (((word >> 28) & 0x1) == 0)
                                                         {
@@ -5424,17 +5971,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100111xxxx1x0011100xx
+                                                                 xxxxxxxxxx0100111xx1x1xx011100xx
                                                                  fcvtas.  */
-                                                              return 170;
+                                                              return 184;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100111xxxx1x0011101xx
+                                                                 xxxxxxxxxx0100111xx1x1xx011101xx
                                                                  fcvtau.  */
-                                                              return 203;
+                                                              return 232;
                                                             }
                                                         }
                                                       else
@@ -5443,39 +5990,20 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100111xxxx1x0011110xx
+                                                                 xxxxxxxxxx0100111xx1x1xx011110xx
                                                                  fcvtas.  */
-                                                              return 410;
+                                                              return 483;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0100111xxxx1x0011111xx
+                                                                 xxxxxxxxxx0100111xx1x1xx011111xx
                                                                  fcvtau.  */
-                                                              return 429;
+                                                              return 513;
                                                             }
                                                         }
                                                     }
-                                                  else
-                                                    {
-                                                      if (((word >> 29) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxx0100111xxxx1x10111x0xx
-                                                             urecpe.  */
-                                                          return 180;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxx0100111xxxx1x10111x1xx
-                                                             ursqrte.  */
-                                                          return 214;
-                                                        }
-                                                    }
                                                 }
                                             }
                                         }
@@ -5496,7 +6024,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0101000xxxx1xx011100xx
                                                              saddlp.  */
-                                                          return 148;
+                                                          return 157;
                                                         }
                                                       else
                                                         {
@@ -5504,7 +6032,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0101000xxxx1xx011101xx
                                                              uaddlp.  */
-                                                          return 183;
+                                                          return 207;
                                                         }
                                                     }
                                                   else
@@ -5517,7 +6045,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101001xxxx1xx0111000x
                                                                  xtn.  */
-                                                              return 158;
+                                                              return 167;
                                                             }
                                                           else
                                                             {
@@ -5525,7 +6053,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101001xxxx1xx0111001x
                                                                  xtn2.  */
-                                                              return 159;
+                                                              return 168;
                                                             }
                                                         }
                                                       else
@@ -5536,7 +6064,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101001xxxx1xx0111010x
                                                                  sqxtun.  */
-                                                              return 191;
+                                                              return 215;
                                                             }
                                                           else
                                                             {
@@ -5544,7 +6072,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101001xxxx1xx0111011x
                                                                  sqxtun2.  */
-                                                              return 192;
+                                                              return 216;
                                                             }
                                                         }
                                                     }
@@ -5559,7 +6087,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010100xxxxx1xx0111100x
                                                              fadd.  */
-                                                          return 644;
+                                                          return 791;
                                                         }
                                                       else
                                                         {
@@ -5567,7 +6095,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx010100xxxxx1xx0111101x
                                                              sha256su0.  */
-                                                          return 547;
+                                                          return 656;
                                                         }
                                                     }
                                                   else
@@ -5576,7 +6104,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010100xxxxx1xx011111xx
                                                          sqxtun.  */
-                                                      return 424;
+                                                      return 505;
                                                     }
                                                 }
                                             }
@@ -5592,40 +6120,147 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0101010xxx01xx01110xxx
                                                              cmlt.  */
-                                                          return 156;
+                                                          return 165;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx0101010xxx01xx01111xxx
+                                                             cmlt.  */
+                                                          return 475;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 29) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx0101010xxx11xx0111x0xx
+                                                             smaxv.  */
+                                                          return 28;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx0101010xxx11xx0111x1xx
+                                                             umaxv.  */
+                                                          return 32;
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 19) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 23) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 28) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 29) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0101011xx001x0011100xx
+                                                                         fcvtns.  */
+                                                                      return 179;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0101011xx001x0011101xx
+                                                                         fcvtnu.  */
+                                                                      return 227;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 29) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0101011xx001x0011110xx
+                                                                         fcvtns.  */
+                                                                      return 478;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0101011xx001x0011111xx
+                                                                         fcvtnu.  */
+                                                                      return 508;
+                                                                    }
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 28) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 29) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0101011xx001x1011100xx
+                                                                         fcvtps.  */
+                                                                      return 199;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0101011xx001x1011101xx
+                                                                         fcvtpu.  */
+                                                                      return 246;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 29) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0101011xx001x1011110xx
+                                                                         fcvtps.  */
+                                                                      return 492;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0101011xx001x1011111xx
+                                                                         fcvtpu.  */
+                                                                      return 520;
+                                                                    }
+                                                                }
+                                                            }
                                                         }
                                                       else
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxx0101010xxx01xx01111xxx
-                                                             cmlt.  */
-                                                          return 405;
+                                                          if (((word >> 29) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx0101011xx011xx0111x0xx
+                                                                 sminv.  */
+                                                              return 29;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx0101011xx011xx0111x1xx
+                                                                 uminv.  */
+                                                              return 33;
+                                                            }
                                                         }
                                                     }
                                                   else
-                                                    {
-                                                      if (((word >> 29) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxx0101010xxx11xx0111x0xx
-                                                             smaxv.  */
-                                                          return 28;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxx0101010xxx11xx0111x1xx
-                                                             umaxv.  */
-                                                          return 32;
-                                                        }
-                                                    }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 20) & 0x1) == 0)
                                                     {
                                                       if (((word >> 23) & 0x1) == 0)
                                                         {
@@ -5635,17 +6270,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0101011xxx01x0011100xx
+                                                                     xxxxxxxxxx0101011xx1x1x0011100xx
                                                                      fcvtns.  */
-                                                                  return 168;
+                                                                  return 180;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0101011xxx01x0011101xx
+                                                                     xxxxxxxxxx0101011xx1x1x0011101xx
                                                                      fcvtnu.  */
-                                                                  return 201;
+                                                                  return 228;
                                                                 }
                                                             }
                                                           else
@@ -5654,17 +6289,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0101011xxx01x0011110xx
+                                                                     xxxxxxxxxx0101011xx1x1x0011110xx
                                                                      fcvtns.  */
-                                                                  return 408;
+                                                                  return 479;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0101011xxx01x0011111xx
+                                                                     xxxxxxxxxx0101011xx1x1x0011111xx
                                                                      fcvtnu.  */
-                                                                  return 427;
+                                                                  return 509;
                                                                 }
                                                             }
                                                         }
@@ -5676,17 +6311,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0101011xxx01x1011100xx
+                                                                     xxxxxxxxxx0101011xx1x1x1011100xx
                                                                      fcvtps.  */
-                                                                  return 178;
+                                                                  return 200;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0101011xxx01x1011101xx
+                                                                     xxxxxxxxxx0101011xx1x1x1011101xx
                                                                      fcvtpu.  */
-                                                                  return 212;
+                                                                  return 247;
                                                                 }
                                                             }
                                                           else
@@ -5695,40 +6330,21 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0101011xxx01x1011110xx
+                                                                     xxxxxxxxxx0101011xx1x1x1011110xx
                                                                      fcvtps.  */
-                                                                  return 415;
+                                                                  return 493;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0101011xxx01x1011111xx
+                                                                     xxxxxxxxxx0101011xx1x1x1011111xx
                                                                      fcvtpu.  */
-                                                                  return 433;
+                                                                  return 521;
                                                                 }
                                                             }
                                                         }
                                                     }
-                                                  else
-                                                    {
-                                                      if (((word >> 29) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxx0101011xxx11xx0111x0xx
-                                                             sminv.  */
-                                                          return 29;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxx0101011xxx11xx0111x1xx
-                                                             uminv.  */
-                                                          return 33;
-                                                        }
-                                                    }
                                                 }
                                             }
                                         }
@@ -5748,7 +6364,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101100xx0x1xx011100xx
                                                                  sadalp.  */
-                                                              return 152;
+                                                              return 161;
                                                             }
                                                           else
                                                             {
@@ -5756,7 +6372,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101100xx0x1xx011101xx
                                                                  uadalp.  */
-                                                              return 186;
+                                                              return 210;
                                                             }
                                                         }
                                                       else
@@ -5765,7 +6381,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0101100xx1x1xx01110xxx
                                                              aesmc.  */
-                                                          return 543;
+                                                          return 652;
                                                         }
                                                     }
                                                   else
@@ -5778,7 +6394,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101101xxxx1xx0111000x
                                                                  fcvtn.  */
-                                                              return 162;
+                                                              return 171;
                                                             }
                                                           else
                                                             {
@@ -5786,7 +6402,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101101xxxx1xx0111001x
                                                                  fcvtn2.  */
-                                                              return 163;
+                                                              return 172;
                                                             }
                                                         }
                                                       else
@@ -5797,7 +6413,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101101xxxx1xx0111010x
                                                                  fcvtxn.  */
-                                                              return 197;
+                                                              return 221;
                                                             }
                                                           else
                                                             {
@@ -5805,7 +6421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0101101xxxx1xx0111011x
                                                                  fcvtxn2.  */
-                                                              return 198;
+                                                              return 222;
                                                             }
                                                         }
                                                     }
@@ -5818,7 +6434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010110xxxxx1xx011110xx
                                                          fmaxnm.  */
-                                                      return 648;
+                                                      return 799;
                                                     }
                                                   else
                                                     {
@@ -5826,27 +6442,49 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx010110xxxxx1xx011111xx
                                                          fcvtxn.  */
-                                                      return 426;
+                                                      return 507;
                                                     }
                                                 }
                                             }
                                           else
                                             {
-                                              if (((word >> 28) & 0x1) == 0)
+                                              if (((word >> 19) & 0x1) == 0)
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxx010111xxxxx1xx01110xxx
-                                                     fcmlt.  */
-                                                  return 174;
+                                                  if (((word >> 28) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx010111xxx0x1xx01110xxx
+                                                         fcmlt.  */
+                                                      return 191;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx010111xxx0x1xx01111xxx
+                                                         fcmlt.  */
+                                                      return 490;
+                                                    }
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxx010111xxxxx1xx01111xxx
-                                                     fcmlt.  */
-                                                  return 414;
+                                                  if (((word >> 28) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx010111xxx1x1xx01110xxx
+                                                         fcmlt.  */
+                                                      return 192;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx010111xxx1x1xx01111xxx
+                                                         fcmlt.  */
+                                                      return 491;
+                                                    }
                                                 }
                                             }
                                         }
@@ -5866,7 +6504,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx011000xxxxx1xx01110xxx
                                                      rev16.  */
-                                                  return 147;
+                                                  return 156;
                                                 }
                                               else
                                                 {
@@ -5876,7 +6514,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx011000xxxxx1xx01111x0x
                                                          fdiv.  */
-                                                      return 643;
+                                                      return 789;
                                                     }
                                                   else
                                                     {
@@ -5884,7 +6522,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx011000xxxxx1xx01111x1x
                                                          sha1su1.  */
-                                                      return 546;
+                                                      return 655;
                                                     }
                                                 }
                                             }
@@ -5900,7 +6538,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0110010xxxx1xx011100xx
                                                              cmeq.  */
-                                                          return 155;
+                                                          return 164;
                                                         }
                                                       else
                                                         {
@@ -5908,7 +6546,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0110010xxxx1xx011101xx
                                                              cmle.  */
-                                                          return 189;
+                                                          return 213;
                                                         }
                                                     }
                                                   else
@@ -5919,7 +6557,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0110010xxxx1xx011110xx
                                                              cmeq.  */
-                                                          return 404;
+                                                          return 474;
                                                         }
                                                       else
                                                         {
@@ -5927,48 +6565,92 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0110010xxxx1xx011111xx
                                                              cmle.  */
-                                                          return 422;
+                                                          return 503;
                                                         }
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 19) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 29) & 0x1) == 0)
+                                                      if (((word >> 23) & 0x1) == 0)
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxx0110011xxxx1x00111x0xx
-                                                             frintm.  */
-                                                          return 167;
+                                                          if (((word >> 29) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx0110011xx0x1x00111x0xx
+                                                                 frintm.  */
+                                                              return 177;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx0110011xx0x1x00111x1xx
+                                                                 frintx.  */
+                                                              return 225;
+                                                            }
                                                         }
                                                       else
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxx0110011xxxx1x00111x1xx
-                                                             frintx.  */
-                                                          return 200;
+                                                          if (((word >> 29) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx0110011xx0x1x10111x0xx
+                                                                 frintz.  */
+                                                              return 197;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx0110011xx0x1x10111x1xx
+                                                                 frinti.  */
+                                                              return 244;
+                                                            }
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 29) & 0x1) == 0)
+                                                      if (((word >> 23) & 0x1) == 0)
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxx0110011xxxx1x10111x0xx
-                                                             frintz.  */
-                                                          return 177;
+                                                          if (((word >> 29) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx0110011xx1x1x00111x0xx
+                                                                 frintm.  */
+                                                              return 178;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx0110011xx1x1x00111x1xx
+                                                                 frintx.  */
+                                                              return 226;
+                                                            }
                                                         }
                                                       else
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxx0110011xxxx1x10111x1xx
-                                                             frinti.  */
-                                                          return 211;
+                                                          if (((word >> 29) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx0110011xx1x1x10111x0xx
+                                                                 frintz.  */
+                                                              return 198;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx0110011xx1x1x10111x1xx
+                                                                 frinti.  */
+                                                              return 245;
+                                                            }
                                                         }
                                                     }
                                                 }
@@ -5988,7 +6670,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011010xxx0x1xx011100xx
                                                              cnt.  */
-                                                          return 151;
+                                                          return 160;
                                                         }
                                                       else
                                                         {
@@ -5998,7 +6680,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx011010xxx0x10x011101xx
                                                                  not.  */
-                                                              return 205;
+                                                              return 235;
                                                             }
                                                           else
                                                             {
@@ -6006,7 +6688,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx011010xxx0x11x011101xx
                                                                  rbit.  */
-                                                              return 207;
+                                                              return 237;
                                                             }
                                                         }
                                                     }
@@ -6016,7 +6698,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx011010xxx1x1xx01110xxx
                                                          aesd.  */
-                                                      return 542;
+                                                      return 651;
                                                     }
                                                 }
                                               else
@@ -6025,14 +6707,77 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx011010xxxxx1xx01111xxx
                                                      fmin.  */
-                                                  return 647;
+                                                  return 797;
                                                 }
                                             }
                                           else
                                             {
                                               if (((word >> 16) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 20) & 0x1) == 0)
+                                                  if (((word >> 19) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 28) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 29) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110110xx001xx011100xx
+                                                                     fcmeq.  */
+                                                                  return 189;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110110xx001xx011101xx
+                                                                     fcmle.  */
+                                                                  return 240;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 29) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110110xx001xx011110xx
+                                                                     fcmeq.  */
+                                                                  return 488;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110110xx001xx011111xx
+                                                                     fcmle.  */
+                                                                  return 518;
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 29) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx0110110xx011xx0111x0xx
+                                                                 faddp.  */
+                                                              return 532;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx0110110xx011xx0111x1xx
+                                                                 faddp.  */
+                                                              return 531;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
                                                     {
                                                       if (((word >> 28) & 0x1) == 0)
                                                         {
@@ -6040,17 +6785,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110110xxx01xx011100xx
+                                                                 xxxxxxxxxx0110110xx1x1xx011100xx
                                                                  fcmeq.  */
-                                                              return 173;
+                                                              return 190;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110110xxx01xx011101xx
+                                                                 xxxxxxxxxx0110110xx1x1xx011101xx
                                                                  fcmle.  */
-                                                              return 209;
+                                                              return 241;
                                                             }
                                                         }
                                                       else
@@ -6059,110 +6804,190 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110110xxx01xx011110xx
+                                                                 xxxxxxxxxx0110110xx1x1xx011110xx
                                                                  fcmeq.  */
-                                                              return 413;
+                                                              return 489;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110110xxx01xx011111xx
+                                                                 xxxxxxxxxx0110110xx1x1xx011111xx
                                                                  fcmle.  */
-                                                              return 432;
+                                                              return 519;
                                                             }
                                                         }
                                                     }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxx0110110xxx11xx0111xxxx
-                                                         faddp.  */
-                                                      return 440;
-                                                    }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 19) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 28) & 0x1) == 0)
+                                                      if (((word >> 23) & 0x1) == 0)
                                                         {
-                                                          if (((word >> 29) & 0x1) == 0)
+                                                          if (((word >> 28) & 0x1) == 0)
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110111xxxx1x0011100xx
-                                                                 scvtf.  */
-                                                              return 171;
+                                                              if (((word >> 29) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110111xx0x1x0011100xx
+                                                                     scvtf.  */
+                                                                  return 185;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110111xx0x1x0011101xx
+                                                                     ucvtf.  */
+                                                                  return 233;
+                                                                }
                                                             }
                                                           else
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110111xxxx1x0011101xx
-                                                                 ucvtf.  */
-                                                              return 204;
+                                                              if (((word >> 29) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110111xx0x1x0011110xx
+                                                                     scvtf.  */
+                                                                  return 484;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110111xx0x1x0011111xx
+                                                                     ucvtf.  */
+                                                                  return 514;
+                                                                }
                                                             }
                                                         }
                                                       else
                                                         {
-                                                          if (((word >> 29) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110111xxxx1x0011110xx
-                                                                 scvtf.  */
-                                                              return 411;
+                                                          if (((word >> 28) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 29) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110111xx0x1x1011100xx
+                                                                     frecpe.  */
+                                                                  return 204;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110111xx0x1x1011101xx
+                                                                     frsqrte.  */
+                                                                  return 251;
+                                                                }
                                                             }
                                                           else
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110111xxxx1x0011111xx
-                                                                 ucvtf.  */
-                                                              return 430;
+                                                              if (((word >> 29) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110111xx0x1x1011110xx
+                                                                     frecpe.  */
+                                                                  return 496;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110111xx0x1x1011111xx
+                                                                     frsqrte.  */
+                                                                  return 524;
+                                                                }
                                                             }
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      if (((word >> 28) & 0x1) == 0)
+                                                      if (((word >> 23) & 0x1) == 0)
                                                         {
-                                                          if (((word >> 29) & 0x1) == 0)
+                                                          if (((word >> 28) & 0x1) == 0)
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110111xxxx1x1011100xx
-                                                                 frecpe.  */
-                                                              return 181;
+                                                              if (((word >> 29) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110111xx1x1x0011100xx
+                                                                     scvtf.  */
+                                                                  return 186;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110111xx1x1x0011101xx
+                                                                     ucvtf.  */
+                                                                  return 234;
+                                                                }
                                                             }
                                                           else
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110111xxxx1x1011101xx
-                                                                 frsqrte.  */
-                                                              return 215;
+                                                              if (((word >> 29) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110111xx1x1x0011110xx
+                                                                     scvtf.  */
+                                                                  return 485;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110111xx1x1x0011111xx
+                                                                     ucvtf.  */
+                                                                  return 515;
+                                                                }
                                                             }
                                                         }
                                                       else
                                                         {
-                                                          if (((word >> 29) & 0x1) == 0)
+                                                          if (((word >> 28) & 0x1) == 0)
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110111xxxx1x1011110xx
-                                                                 frecpe.  */
-                                                              return 417;
+                                                              if (((word >> 29) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110111xx1x1x1011100xx
+                                                                     frecpe.  */
+                                                                  return 205;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110111xx1x1x1011101xx
+                                                                     frsqrte.  */
+                                                                  return 252;
+                                                                }
                                                             }
                                                           else
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxx0110111xxxx1x1011111xx
-                                                                 frsqrte.  */
-                                                              return 435;
+                                                              if (((word >> 29) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110111xx1x1x1011110xx
+                                                                     frecpe.  */
+                                                                  return 497;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     xxxxxxxxxx0110111xx1x1x1011111xx
+                                                                     frsqrte.  */
+                                                                  return 525;
+                                                                }
                                                             }
                                                         }
                                                     }
@@ -6188,7 +7013,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0111000xxx01xx011100xx
                                                                  suqadd.  */
-                                                              return 149;
+                                                              return 158;
                                                             }
                                                           else
                                                             {
@@ -6196,7 +7021,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0111000xxx01xx011101xx
                                                                  usqadd.  */
-                                                              return 184;
+                                                              return 208;
                                                             }
                                                         }
                                                       else
@@ -6227,7 +7052,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111001xxxx1xx01110x0x
                                                              shll.  */
-                                                          return 193;
+                                                          return 217;
                                                         }
                                                       else
                                                         {
@@ -6235,7 +7060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111001xxxx1xx01110x1x
                                                              shll2.  */
-                                                          return 194;
+                                                          return 218;
                                                         }
                                                     }
                                                 }
@@ -6249,7 +7074,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011100xxxxx1xx0111100x
                                                              fsub.  */
-                                                          return 645;
+                                                          return 793;
                                                         }
                                                       else
                                                         {
@@ -6257,7 +7082,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011100xxxxx1xx0111101x
                                                              suqadd.  */
-                                                          return 401;
+                                                          return 471;
                                                         }
                                                     }
                                                   else
@@ -6266,7 +7091,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx011100xxxxx1xx011111xx
                                                          usqadd.  */
-                                                      return 419;
+                                                      return 500;
                                                     }
                                                 }
                                             }
@@ -6282,7 +7107,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111010xxxx1xx011100xx
                                                              abs.  */
-                                                          return 157;
+                                                          return 166;
                                                         }
                                                       else
                                                         {
@@ -6290,7 +7115,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111010xxxx1xx011101xx
                                                              neg.  */
-                                                          return 190;
+                                                          return 214;
                                                         }
                                                     }
                                                   else
@@ -6301,7 +7126,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111010xxxx1xx011110xx
                                                              abs.  */
-                                                          return 406;
+                                                          return 476;
                                                         }
                                                       else
                                                         {
@@ -6309,13 +7134,120 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111010xxxx1xx011111xx
                                                              neg.  */
-                                                          return 423;
+                                                          return 504;
                                                         }
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 20) & 0x1) == 0)
+                                                  if (((word >> 19) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 23) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 28) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 29) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0111011xx001x0011100xx
+                                                                         fcvtms.  */
+                                                                      return 181;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0111011xx001x0011101xx
+                                                                         fcvtmu.  */
+                                                                      return 229;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 29) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0111011xx001x0011110xx
+                                                                         fcvtms.  */
+                                                                      return 480;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0111011xx001x0011111xx
+                                                                         fcvtmu.  */
+                                                                      return 510;
+                                                                    }
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 28) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 29) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0111011xx001x1011100xx
+                                                                         fcvtzs.  */
+                                                                      return 201;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0111011xx001x1011101xx
+                                                                         fcvtzu.  */
+                                                                      return 248;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 29) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0111011xx001x1011110xx
+                                                                         fcvtzs.  */
+                                                                      return 494;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0111011xx001x1011111xx
+                                                                         fcvtzu.  */
+                                                                      return 522;
+                                                                    }
+                                                                }
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 28) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx0111011xx011xx01110xxx
+                                                                 addv.  */
+                                                              return 30;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx0111011xx011xx01111xxx
+                                                                 addp.  */
+                                                              return 528;
+                                                            }
+                                                        }
+                                                    }
+                                                  else
                                                     {
                                                       if (((word >> 23) & 0x1) == 0)
                                                         {
@@ -6325,17 +7257,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0111011xxx01x0011100xx
+                                                                     xxxxxxxxxx0111011xx1x1x0011100xx
                                                                      fcvtms.  */
-                                                                  return 169;
+                                                                  return 182;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0111011xxx01x0011101xx
+                                                                     xxxxxxxxxx0111011xx1x1x0011101xx
                                                                      fcvtmu.  */
-                                                                  return 202;
+                                                                  return 230;
                                                                 }
                                                             }
                                                           else
@@ -6344,17 +7276,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0111011xxx01x0011110xx
+                                                                     xxxxxxxxxx0111011xx1x1x0011110xx
                                                                      fcvtms.  */
-                                                                  return 409;
+                                                                  return 481;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0111011xxx01x0011111xx
+                                                                     xxxxxxxxxx0111011xx1x1x0011111xx
                                                                      fcvtmu.  */
-                                                                  return 428;
+                                                                  return 511;
                                                                 }
                                                             }
                                                         }
@@ -6366,17 +7298,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0111011xxx01x1011100xx
+                                                                     xxxxxxxxxx0111011xx1x1x1011100xx
                                                                      fcvtzs.  */
-                                                                  return 179;
+                                                                  return 202;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0111011xxx01x1011101xx
+                                                                     xxxxxxxxxx0111011xx1x1x1011101xx
                                                                      fcvtzu.  */
-                                                                  return 213;
+                                                                  return 249;
                                                                 }
                                                             }
                                                           else
@@ -6385,40 +7317,21 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0111011xxx01x1011110xx
+                                                                     xxxxxxxxxx0111011xx1x1x1011110xx
                                                                      fcvtzs.  */
-                                                                  return 416;
+                                                                  return 495;
                                                                 }
                                                               else
                                                                 {
                                                                   /* 33222222222211111111110000000000
                                                                      10987654321098765432109876543210
-                                                                     xxxxxxxxxx0111011xxx01x1011111xx
+                                                                     xxxxxxxxxx0111011xx1x1x1011111xx
                                                                      fcvtzu.  */
-                                                                  return 434;
+                                                                  return 523;
                                                                 }
                                                             }
                                                         }
                                                     }
-                                                  else
-                                                    {
-                                                      if (((word >> 28) & 0x1) == 0)
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxx0111011xxx11xx01110xxx
-                                                             addv.  */
-                                                          return 30;
-                                                        }
-                                                      else
-                                                        {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             xxxxxxxxxx0111011xxx11xx01111xxx
-                                                             addp.  */
-                                                          return 438;
-                                                        }
-                                                    }
                                                 }
                                             }
                                         }
@@ -6438,7 +7351,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0111100xx0x1xx011100xx
                                                                  sqabs.  */
-                                                              return 153;
+                                                              return 162;
                                                             }
                                                           else
                                                             {
@@ -6446,7 +7359,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx0111100xx0x1xx011101xx
                                                                  sqneg.  */
-                                                              return 187;
+                                                              return 211;
                                                             }
                                                         }
                                                       else
@@ -6455,7 +7368,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111100xx1x1xx01110xxx
                                                              aesimc.  */
-                                                          return 544;
+                                                          return 653;
                                                         }
                                                     }
                                                   else
@@ -6466,7 +7379,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111101xxxx1xx01110x0x
                                                              fcvtl.  */
-                                                          return 164;
+                                                          return 173;
                                                         }
                                                       else
                                                         {
@@ -6474,7 +7387,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx0111101xxxx1xx01110x1x
                                                              fcvtl2.  */
-                                                          return 165;
+                                                          return 174;
                                                         }
                                                     }
                                                 }
@@ -6488,7 +7401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011110xxxxx1xx0111100x
                                                              fminnm.  */
-                                                          return 649;
+                                                          return 801;
                                                         }
                                                       else
                                                         {
@@ -6496,7 +7409,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx011110xxxxx1xx0111101x
                                                              sqabs.  */
-                                                          return 402;
+                                                          return 472;
                                                         }
                                                     }
                                                   else
@@ -6505,7 +7418,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx011110xxxxx1xx011111xx
                                                          sqneg.  */
-                                                      return 420;
+                                                      return 501;
                                                     }
                                                 }
                                             }
@@ -6513,84 +7426,172 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               if (((word >> 16) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 20) & 0x1) == 0)
+                                                  if (((word >> 19) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 20) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 29) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx0111110xx001xx0111x0xx
+                                                                 fabs.  */
+                                                              return 193;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 xxxxxxxxxx0111110xx001xx0111x1xx
+                                                                 fneg.  */
+                                                              return 242;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 23) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 28) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 29) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0111110xx011x0011100xx
+                                                                         fmaxv.  */
+                                                                      return 37;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0111110xx011x0011101xx
+                                                                         fmaxv.  */
+                                                                      return 36;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 29) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0111110xx011x0011110xx
+                                                                         fmaxp.  */
+                                                                      return 534;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0111110xx011x0011111xx
+                                                                         fmaxp.  */
+                                                                      return 533;
+                                                                    }
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 28) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 29) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0111110xx011x1011100xx
+                                                                         fminv.  */
+                                                                      return 41;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0111110xx011x1011101xx
+                                                                         fminv.  */
+                                                                      return 40;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  if (((word >> 29) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0111110xx011x1011110xx
+                                                                         fminp.  */
+                                                                      return 538;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         xxxxxxxxxx0111110xx011x1011111xx
+                                                                         fminp.  */
+                                                                      return 537;
+                                                                    }
+                                                                }
+                                                            }
+                                                        }
+                                                    }
+                                                  else
                                                     {
                                                       if (((word >> 29) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111110xxx01xx0111x0xx
+                                                             xxxxxxxxxx0111110xx1x1xx0111x0xx
                                                              fabs.  */
-                                                          return 175;
+                                                          return 194;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             xxxxxxxxxx0111110xxx01xx0111x1xx
+                                                             xxxxxxxxxx0111110xx1x1xx0111x1xx
                                                              fneg.  */
-                                                          return 210;
+                                                          return 243;
                                                         }
                                                     }
-                                                  else
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 19) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 23) & 0x1) == 0)
+                                                      if (((word >> 28) & 0x1) == 0)
                                                         {
-                                                          if (((word >> 28) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxx0111110xxx11x001110xxx
-                                                                 fmaxv.  */
-                                                              return 35;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxx0111110xxx11x001111xxx
-                                                                 fmaxp.  */
-                                                              return 441;
-                                                            }
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx0111111xx0x1xx01110xxx
+                                                             fsqrt.  */
+                                                          return 253;
                                                         }
                                                       else
                                                         {
-                                                          if (((word >> 28) & 0x1) == 0)
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxx0111110xxx11x101110xxx
-                                                                 fminv.  */
-                                                              return 37;
-                                                            }
-                                                          else
-                                                            {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 xxxxxxxxxx0111110xxx11x101111xxx
-                                                                 fminp.  */
-                                                              return 443;
-                                                            }
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx0111111xx0x1xx01111xxx
+                                                             frecpx.  */
+                                                          return 498;
                                                         }
                                                     }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 28) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxx0111111xxxx1xx01110xxx
-                                                         fsqrt.  */
-                                                      return 216;
-                                                    }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         xxxxxxxxxx0111111xxxx1xx01111xxx
-                                                         frecpx.  */
-                                                      return 418;
+                                                      if (((word >> 28) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx0111111xx1x1xx01110xxx
+                                                             fsqrt.  */
+                                                          return 254;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             xxxxxxxxxx0111111xx1x1xx01111xxx
+                                                             frecpx.  */
+                                                          return 499;
+                                                        }
                                                     }
                                                 }
                                             }
@@ -6619,7 +7620,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100000xxxxx1xx011100xx
                                                          shadd.  */
-                                                      return 223;
+                                                      return 261;
                                                     }
                                                   else
                                                     {
@@ -6627,7 +7628,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100000xxxxx1xx011101xx
                                                          uhadd.  */
-                                                      return 263;
+                                                      return 313;
                                                     }
                                                 }
                                               else
@@ -6638,7 +7639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100001xxxxx1xx011100xx
                                                          add.  */
-                                                      return 238;
+                                                      return 276;
                                                     }
                                                   else
                                                     {
@@ -6646,7 +7647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100001xxxxx1xx011101xx
                                                          sub.  */
-                                                      return 278;
+                                                      return 328;
                                                     }
                                                 }
                                             }
@@ -6660,7 +7661,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100010xxxxx1xx011100xx
                                                          sshl.  */
-                                                      return 230;
+                                                      return 268;
                                                     }
                                                   else
                                                     {
@@ -6668,7 +7669,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100010xxxxx1xx011101xx
                                                          ushl.  */
-                                                      return 270;
+                                                      return 320;
                                                     }
                                                 }
                                               else
@@ -6681,7 +7682,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100011xxxxx1x0011100xx
                                                              fmaxnm.  */
-                                                          return 246;
+                                                          return 284;
                                                         }
                                                       else
                                                         {
@@ -6689,7 +7690,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100011xxxxx1x0011101xx
                                                              fmaxnmp.  */
-                                                          return 285;
+                                                          return 335;
                                                         }
                                                     }
                                                   else
@@ -6700,7 +7701,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100011xxxxx1x1011100xx
                                                              fminnm.  */
-                                                          return 255;
+                                                          return 300;
                                                         }
                                                       else
                                                         {
@@ -6708,7 +7709,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100011xxxxx1x1011101xx
                                                              fminnmp.  */
-                                                          return 294;
+                                                          return 351;
                                                         }
                                                     }
                                                 }
@@ -6726,7 +7727,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100100xxxxx1xx011100xx
                                                          shsub.  */
-                                                      return 226;
+                                                      return 264;
                                                     }
                                                   else
                                                     {
@@ -6734,7 +7735,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100100xxxxx1xx011101xx
                                                          uhsub.  */
-                                                      return 266;
+                                                      return 316;
                                                     }
                                                 }
                                               else
@@ -6745,7 +7746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100101xxxxx1xx011100xx
                                                          smaxp.  */
-                                                      return 242;
+                                                      return 280;
                                                     }
                                                   else
                                                     {
@@ -6753,7 +7754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100101xxxxx1xx011101xx
                                                          umaxp.  */
-                                                      return 282;
+                                                      return 332;
                                                     }
                                                 }
                                             }
@@ -6767,7 +7768,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100110xxxxx1xx011100xx
                                                          smax.  */
-                                                      return 234;
+                                                      return 272;
                                                     }
                                                   else
                                                     {
@@ -6775,7 +7776,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100110xxxxx1xx011101xx
                                                          umax.  */
-                                                      return 274;
+                                                      return 324;
                                                     }
                                                 }
                                               else
@@ -6788,7 +7789,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100111xxxxx1x0011100xx
                                                              fcmeq.  */
-                                                          return 250;
+                                                          return 292;
                                                         }
                                                       else
                                                         {
@@ -6796,7 +7797,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx100111xxxxx1x0011101xx
                                                              fcmge.  */
-                                                          return 288;
+                                                          return 341;
                                                         }
                                                     }
                                                   else
@@ -6805,7 +7806,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx100111xxxxx1x101110xxx
                                                          fcmgt.  */
-                                                      return 296;
+                                                      return 355;
                                                     }
                                                 }
                                             }
@@ -6825,7 +7826,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101000xxxxx1xx011100xx
                                                          srhadd.  */
-                                                      return 225;
+                                                      return 263;
                                                     }
                                                   else
                                                     {
@@ -6833,7 +7834,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101000xxxxx1xx011101xx
                                                          urhadd.  */
-                                                      return 265;
+                                                      return 315;
                                                     }
                                                 }
                                               else
@@ -6844,7 +7845,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101001xxxxx1xx011100xx
                                                          mla.  */
-                                                      return 240;
+                                                      return 278;
                                                     }
                                                   else
                                                     {
@@ -6852,7 +7853,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101001xxxxx1xx011101xx
                                                          mls.  */
-                                                      return 280;
+                                                      return 330;
                                                     }
                                                 }
                                             }
@@ -6866,7 +7867,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101010xxxxx1xx011100xx
                                                          srshl.  */
-                                                      return 232;
+                                                      return 270;
                                                     }
                                                   else
                                                     {
@@ -6874,7 +7875,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101010xxxxx1xx011101xx
                                                          urshl.  */
-                                                      return 272;
+                                                      return 322;
                                                     }
                                                 }
                                               else
@@ -6887,7 +7888,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101011xxxxx1x0011100xx
                                                              fadd.  */
-                                                          return 248;
+                                                          return 288;
                                                         }
                                                       else
                                                         {
@@ -6895,7 +7896,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101011xxxxx1x0011101xx
                                                              faddp.  */
-                                                          return 286;
+                                                          return 337;
                                                         }
                                                     }
                                                   else
@@ -6906,7 +7907,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101011xxxxx1x1011100xx
                                                              fsub.  */
-                                                          return 257;
+                                                          return 304;
                                                         }
                                                       else
                                                         {
@@ -6914,7 +7915,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101011xxxxx1x1011101xx
                                                              fabd.  */
-                                                          return 295;
+                                                          return 353;
                                                         }
                                                     }
                                                 }
@@ -6932,7 +7933,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101100xxxxx1xx011100xx
                                                          cmgt.  */
-                                                      return 228;
+                                                      return 266;
                                                     }
                                                   else
                                                     {
@@ -6940,7 +7941,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101100xxxxx1xx011101xx
                                                          cmhi.  */
-                                                      return 268;
+                                                      return 318;
                                                     }
                                                 }
                                               else
@@ -6951,7 +7952,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101101xxxxx1xx011100xx
                                                          sqdmulh.  */
-                                                      return 244;
+                                                      return 282;
                                                     }
                                                   else
                                                     {
@@ -6959,7 +7960,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101101xxxxx1xx011101xx
                                                          sqrdmulh.  */
-                                                      return 284;
+                                                      return 334;
                                                     }
                                                 }
                                             }
@@ -6973,7 +7974,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101110xxxxx1xx011100xx
                                                          sabd.  */
-                                                      return 236;
+                                                      return 274;
                                                     }
                                                   else
                                                     {
@@ -6981,7 +7982,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx101110xxxxx1xx011101xx
                                                          uabd.  */
-                                                      return 276;
+                                                      return 326;
                                                     }
                                                 }
                                               else
@@ -6994,7 +7995,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101111xxxxx1x0011100xx
                                                              fmax.  */
-                                                          return 251;
+                                                          return 294;
                                                         }
                                                       else
                                                         {
@@ -7002,7 +8003,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101111xxxxx1x0011101xx
                                                              fmaxp.  */
-                                                          return 290;
+                                                          return 345;
                                                         }
                                                     }
                                                   else
@@ -7013,7 +8014,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101111xxxxx1x1011100xx
                                                              fmin.  */
-                                                          return 258;
+                                                          return 306;
                                                         }
                                                       else
                                                         {
@@ -7021,7 +8022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx101111xxxxx1x1011101xx
                                                              fminp.  */
-                                                          return 298;
+                                                          return 359;
                                                         }
                                                     }
                                                 }
@@ -7041,7 +8042,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx0xxxxx10xxxxxxxxx1xx0111100x
                                                  fccmp.  */
-                                              return 624;
+                                              return 752;
                                             }
                                           else
                                             {
@@ -7049,7 +8050,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxx1xxxxx10xxxxxxxxx1xx0111100x
                                                  fccmpe.  */
-                                              return 625;
+                                              return 754;
                                             }
                                         }
                                       else
@@ -7064,7 +8065,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx10000xxxxxx1xx0111101x
                                                          add.  */
-                                                      return 457;
+                                                      return 556;
                                                     }
                                                   else
                                                     {
@@ -7072,7 +8073,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx10001xxxxxx1xx0111101x
                                                          sshl.  */
-                                                      return 455;
+                                                      return 554;
                                                     }
                                                 }
                                               else
@@ -7081,7 +8082,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1001xxxxxxx1xx0111101x
                                                      fcmeq.  */
-                                                  return 450;
+                                                  return 546;
                                                 }
                                             }
                                           else
@@ -7092,7 +8093,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1010xxxxxxx1xx0111101x
                                                      srshl.  */
-                                                  return 456;
+                                                  return 555;
                                                 }
                                               else
                                                 {
@@ -7102,7 +8103,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1011x0xxxxx1xx0111101x
                                                          cmgt.  */
-                                                      return 453;
+                                                      return 552;
                                                     }
                                                   else
                                                     {
@@ -7110,7 +8111,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1011x1xxxxx1xx0111101x
                                                          sqdmulh.  */
-                                                      return 448;
+                                                      return 543;
                                                     }
                                                 }
                                             }
@@ -7128,7 +8129,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx10000xxxxxx1xx011111xx
                                                      sub.  */
-                                                  return 473;
+                                                  return 577;
                                                 }
                                               else
                                                 {
@@ -7136,7 +8137,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx10001xxxxxx1xx011111xx
                                                      ushl.  */
-                                                  return 471;
+                                                  return 575;
                                                 }
                                             }
                                           else
@@ -7147,7 +8148,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1001xxxxxxx1x0011111xx
                                                      fcmge.  */
-                                                  return 464;
+                                                  return 563;
                                                 }
                                               else
                                                 {
@@ -7155,7 +8156,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1001xxxxxxx1x1011111xx
                                                      fcmgt.  */
-                                                  return 467;
+                                                  return 569;
                                                 }
                                             }
                                         }
@@ -7169,7 +8170,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1010x0xxxxx1xx011111xx
                                                      urshl.  */
-                                                  return 472;
+                                                  return 576;
                                                 }
                                               else
                                                 {
@@ -7177,7 +8178,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1010x1xxxxx1xx011111xx
                                                      fabd.  */
-                                                  return 466;
+                                                  return 567;
                                                 }
                                             }
                                           else
@@ -7188,7 +8189,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1011x0xxxxx1xx011111xx
                                                      cmhi.  */
-                                                  return 469;
+                                                  return 573;
                                                 }
                                               else
                                                 {
@@ -7196,7 +8197,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1011x1xxxxx1xx011111xx
                                                      sqrdmulh.  */
-                                                  return 463;
+                                                  return 562;
                                                 }
                                             }
                                         }
@@ -7221,7 +8222,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110000xxxxx1xx011100xx
                                                          sqadd.  */
-                                                      return 224;
+                                                      return 262;
                                                     }
                                                   else
                                                     {
@@ -7229,7 +8230,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110000xxxxx1xx011101xx
                                                          uqadd.  */
-                                                      return 264;
+                                                      return 314;
                                                     }
                                                 }
                                               else
@@ -7240,7 +8241,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110001xxxxx1xx011100xx
                                                          cmtst.  */
-                                                      return 239;
+                                                      return 277;
                                                     }
                                                   else
                                                     {
@@ -7248,7 +8249,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110001xxxxx1xx011101xx
                                                          cmeq.  */
-                                                      return 279;
+                                                      return 329;
                                                     }
                                                 }
                                             }
@@ -7262,7 +8263,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110010xxxxx1xx011100xx
                                                          sqshl.  */
-                                                      return 231;
+                                                      return 269;
                                                     }
                                                   else
                                                     {
@@ -7270,7 +8271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110010xxxxx1xx011101xx
                                                          uqshl.  */
-                                                      return 271;
+                                                      return 321;
                                                     }
                                                 }
                                               else
@@ -7281,7 +8282,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110011xxxxx1x001110xxx
                                                          fmla.  */
-                                                      return 247;
+                                                      return 286;
                                                     }
                                                   else
                                                     {
@@ -7289,7 +8290,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110011xxxxx1x101110xxx
                                                          fmls.  */
-                                                      return 256;
+                                                      return 302;
                                                     }
                                                 }
                                             }
@@ -7306,7 +8307,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110100xxxxx1xx011100xx
                                                          sqsub.  */
-                                                      return 227;
+                                                      return 265;
                                                     }
                                                   else
                                                     {
@@ -7314,7 +8315,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110100xxxxx1xx011101xx
                                                          uqsub.  */
-                                                      return 267;
+                                                      return 317;
                                                     }
                                                 }
                                               else
@@ -7325,7 +8326,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110101xxxxx1xx011100xx
                                                          sminp.  */
-                                                      return 243;
+                                                      return 281;
                                                     }
                                                   else
                                                     {
@@ -7333,7 +8334,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110101xxxxx1xx011101xx
                                                          uminp.  */
-                                                      return 283;
+                                                      return 333;
                                                     }
                                                 }
                                             }
@@ -7347,7 +8348,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110110xxxxx1xx011100xx
                                                          smin.  */
-                                                      return 235;
+                                                      return 273;
                                                     }
                                                   else
                                                     {
@@ -7355,7 +8356,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110110xxxxx1xx011101xx
                                                          umin.  */
-                                                      return 275;
+                                                      return 325;
                                                     }
                                                 }
                                               else
@@ -7366,7 +8367,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110111xxxxx1x001110xxx
                                                          facge.  */
-                                                      return 289;
+                                                      return 343;
                                                     }
                                                   else
                                                     {
@@ -7374,7 +8375,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110111xxxxx1x101110xxx
                                                          facgt.  */
-                                                      return 297;
+                                                      return 357;
                                                     }
                                                 }
                                             }
@@ -7398,7 +8399,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx111000xxxxx100011100xx
                                                                  and.  */
-                                                              return 253;
+                                                              return 298;
                                                             }
                                                           else
                                                             {
@@ -7406,7 +8407,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx111000xxxxx100011101xx
                                                                  eor.  */
-                                                              return 292;
+                                                              return 349;
                                                             }
                                                         }
                                                       else
@@ -7417,7 +8418,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx111000xxxxx101011100xx
                                                                  orr.  */
-                                                              return 260;
+                                                              return 310;
                                                             }
                                                           else
                                                             {
@@ -7425,7 +8426,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx111000xxxxx101011101xx
                                                                  bit.  */
-                                                              return 299;
+                                                              return 361;
                                                             }
                                                         }
                                                     }
@@ -7439,7 +8440,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx111000xxxxx110011100xx
                                                                  bic.  */
-                                                              return 254;
+                                                              return 299;
                                                             }
                                                           else
                                                             {
@@ -7447,7 +8448,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx111000xxxxx110011101xx
                                                                  bsl.  */
-                                                              return 293;
+                                                              return 350;
                                                             }
                                                         }
                                                       else
@@ -7458,7 +8459,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx111000xxxxx111011100xx
                                                                  orn.  */
-                                                              return 262;
+                                                              return 312;
                                                             }
                                                           else
                                                             {
@@ -7466,7 +8467,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xxxxxxxxxx111000xxxxx111011101xx
                                                                  bif.  */
-                                                              return 300;
+                                                              return 362;
                                                             }
                                                         }
                                                     }
@@ -7479,7 +8480,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111001xxxxx1xx011100xx
                                                          mul.  */
-                                                      return 241;
+                                                      return 279;
                                                     }
                                                   else
                                                     {
@@ -7487,7 +8488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111001xxxxx1xx011101xx
                                                          pmul.  */
-                                                      return 281;
+                                                      return 331;
                                                     }
                                                 }
                                             }
@@ -7501,7 +8502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111010xxxxx1xx011100xx
                                                          sqrshl.  */
-                                                      return 233;
+                                                      return 271;
                                                     }
                                                   else
                                                     {
@@ -7509,7 +8510,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111010xxxxx1xx011101xx
                                                          uqrshl.  */
-                                                      return 273;
+                                                      return 323;
                                                     }
                                                 }
                                               else
@@ -7520,7 +8521,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111011xxxxx1xx011100xx
                                                          fmulx.  */
-                                                      return 249;
+                                                      return 290;
                                                     }
                                                   else
                                                     {
@@ -7528,7 +8529,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111011xxxxx1xx011101xx
                                                          fmul.  */
-                                                      return 287;
+                                                      return 339;
                                                     }
                                                 }
                                             }
@@ -7545,7 +8546,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111100xxxxx1xx011100xx
                                                          cmge.  */
-                                                      return 229;
+                                                      return 267;
                                                     }
                                                   else
                                                     {
@@ -7553,7 +8554,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111100xxxxx1xx011101xx
                                                          cmhs.  */
-                                                      return 269;
+                                                      return 319;
                                                     }
                                                 }
                                               else
@@ -7562,7 +8563,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx111101xxxxx1xx01110xxx
                                                      addp.  */
-                                                  return 245;
+                                                  return 283;
                                                 }
                                             }
                                           else
@@ -7575,7 +8576,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111110xxxxx1xx011100xx
                                                          saba.  */
-                                                      return 237;
+                                                      return 275;
                                                     }
                                                   else
                                                     {
@@ -7583,7 +8584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111110xxxxx1xx011101xx
                                                          uaba.  */
-                                                      return 277;
+                                                      return 327;
                                                     }
                                                 }
                                               else
@@ -7596,7 +8597,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx111111xxxxx1x0011100xx
                                                              frecps.  */
-                                                          return 252;
+                                                          return 296;
                                                         }
                                                       else
                                                         {
@@ -7604,7 +8605,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx111111xxxxx1x0011101xx
                                                              fdiv.  */
-                                                          return 291;
+                                                          return 347;
                                                         }
                                                     }
                                                   else
@@ -7613,7 +8614,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx111111xxxxx1x101110xxx
                                                          frsqrts.  */
-                                                      return 259;
+                                                      return 308;
                                                     }
                                                 }
                                             }
@@ -7630,7 +8631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx11xxxxxxxxx1xx0111100x
                                              fcsel.  */
-                                          return 656;
+                                          return 815;
                                         }
                                       else
                                         {
@@ -7646,7 +8647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx110000xxxxx1xx0111101x
                                                              sqadd.  */
-                                                          return 444;
+                                                          return 539;
                                                         }
                                                       else
                                                         {
@@ -7654,7 +8655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx110001xxxxx1xx0111101x
                                                              cmtst.  */
-                                                          return 458;
+                                                          return 557;
                                                         }
                                                     }
                                                   else
@@ -7663,7 +8664,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11001xxxxxx1xx0111101x
                                                          sqshl.  */
-                                                      return 446;
+                                                      return 541;
                                                     }
                                                 }
                                               else
@@ -7672,7 +8673,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1101xxxxxxx1xx0111101x
                                                      sqsub.  */
-                                                  return 445;
+                                                  return 540;
                                                 }
                                             }
                                           else
@@ -7685,7 +8686,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1110x0xxxxx1xx0111101x
                                                          sqrshl.  */
-                                                      return 447;
+                                                      return 542;
                                                     }
                                                   else
                                                     {
@@ -7693,7 +8694,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx1110x1xxxxx1xx0111101x
                                                          fmulx.  */
-                                                      return 449;
+                                                      return 544;
                                                     }
                                                 }
                                               else
@@ -7704,7 +8705,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11110xxxxxx1xx0111101x
                                                          cmge.  */
-                                                      return 454;
+                                                      return 553;
                                                     }
                                                   else
                                                     {
@@ -7714,7 +8715,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx11111xxxxxx1x00111101x
                                                              frecps.  */
-                                                          return 451;
+                                                          return 548;
                                                         }
                                                       else
                                                         {
@@ -7722,7 +8723,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxxxxxxxxx11111xxxxxx1x10111101x
                                                              frsqrts.  */
-                                                          return 452;
+                                                          return 550;
                                                         }
                                                     }
                                                 }
@@ -7743,7 +8744,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110000xxxxx1xx011111xx
                                                          uqadd.  */
-                                                      return 459;
+                                                      return 558;
                                                     }
                                                   else
                                                     {
@@ -7751,7 +8752,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx110001xxxxx1xx011111xx
                                                          cmeq.  */
-                                                      return 474;
+                                                      return 578;
                                                     }
                                                 }
                                               else
@@ -7760,7 +8761,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx11001xxxxxx1xx011111xx
                                                      uqshl.  */
-                                                  return 461;
+                                                  return 560;
                                                 }
                                             }
                                           else
@@ -7771,7 +8772,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx11010xxxxxx1xx011111xx
                                                      uqsub.  */
-                                                  return 460;
+                                                  return 559;
                                                 }
                                               else
                                                 {
@@ -7781,7 +8782,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11011xxxxxx1x0011111xx
                                                          facge.  */
-                                                      return 465;
+                                                      return 565;
                                                     }
                                                   else
                                                     {
@@ -7789,7 +8790,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxxxxxxxxx11011xxxxxx1x1011111xx
                                                          facgt.  */
-                                                      return 468;
+                                                      return 571;
                                                     }
                                                 }
                                             }
@@ -7802,7 +8803,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1110xxxxxxx1xx011111xx
                                                  uqrshl.  */
-                                              return 462;
+                                              return 561;
                                             }
                                           else
                                             {
@@ -7810,7 +8811,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1111xxxxxxx1xx011111xx
                                                  cmhs.  */
-                                              return 470;
+                                              return 574;
                                             }
                                         }
                                     }
@@ -7837,7 +8838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx0x0000xxxxxxxx11110xxx
                                              mla.  */
-                                          return 110;
+                                          return 117;
                                         }
                                       else
                                         {
@@ -7845,7 +8846,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx0x0010xxxxxxxx11110xxx
                                              mls.  */
-                                          return 113;
+                                          return 120;
                                         }
                                     }
                                   else
@@ -7860,7 +8861,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x0100xxxxxxxx1111000x
                                                      smlal.  */
-                                                  return 92;
+                                                  return 96;
                                                 }
                                               else
                                                 {
@@ -7868,7 +8869,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x0100xxxxxxxx1111001x
                                                      smlal2.  */
-                                                  return 93;
+                                                  return 97;
                                                 }
                                             }
                                           else
@@ -7879,7 +8880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x0100xxxxxxxx1111010x
                                                      umlal.  */
-                                                  return 111;
+                                                  return 118;
                                                 }
                                               else
                                                 {
@@ -7887,7 +8888,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x0100xxxxxxxx1111011x
                                                      umlal2.  */
-                                                  return 112;
+                                                  return 119;
                                                 }
                                             }
                                         }
@@ -7901,7 +8902,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x0110xxxxxxxx1111000x
                                                      smlsl.  */
-                                                  return 96;
+                                                  return 100;
                                                 }
                                               else
                                                 {
@@ -7909,7 +8910,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x0110xxxxxxxx1111001x
                                                      smlsl2.  */
-                                                  return 97;
+                                                  return 101;
                                                 }
                                             }
                                           else
@@ -7920,7 +8921,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x0110xxxxxxxx1111010x
                                                      umlsl.  */
-                                                  return 114;
+                                                  return 121;
                                                 }
                                               else
                                                 {
@@ -7928,7 +8929,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x0110xxxxxxxx1111011x
                                                      umlsl2.  */
-                                                  return 115;
+                                                  return 122;
                                                 }
                                             }
                                         }
@@ -7940,19 +8941,41 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       if (((word >> 14) & 0x1) == 0)
                                         {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxxxxxxxx0x1000xxxxxxxx11110xxx
-                                             fmla.  */
-                                          return 107;
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxx0x1000xxxxxxx011110xxx
+                                                 fmla.  */
+                                              return 112;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxx0x1000xxxxxxx111110xxx
+                                                 fmla.  */
+                                              return 111;
+                                            }
                                         }
                                       else
                                         {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxxxxxxxx0x1010xxxxxxxx11110xxx
-                                             fmls.  */
-                                          return 108;
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxx0x1010xxxxxxx011110xxx
+                                                 fmls.  */
+                                              return 114;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxx0x1010xxxxxxx111110xxx
+                                                 fmls.  */
+                                              return 113;
+                                            }
                                         }
                                     }
                                   else
@@ -7965,7 +8988,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x1100xxxxxxxx11110x0x
                                                  sqdmlal.  */
-                                              return 94;
+                                              return 98;
                                             }
                                           else
                                             {
@@ -7973,7 +8996,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x1100xxxxxxxx11110x1x
                                                  sqdmlal2.  */
-                                              return 95;
+                                              return 99;
                                             }
                                         }
                                       else
@@ -7984,7 +9007,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x1110xxxxxxxx11110x0x
                                                  sqdmlsl.  */
-                                              return 98;
+                                              return 102;
                                             }
                                           else
                                             {
@@ -7992,7 +9015,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x1110xxxxxxxx11110x1x
                                                  sqdmlsl2.  */
-                                              return 99;
+                                              return 103;
                                             }
                                         }
                                     }
@@ -8008,7 +9031,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx1x0xx0xxxxxxxx111100xx
                                          movi.  */
-                                      return 122;
+                                      return 130;
                                     }
                                   else
                                     {
@@ -8016,7 +9039,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx1x0xx0xxxxxxxx111101xx
                                          mvni.  */
-                                      return 129;
+                                      return 138;
                                     }
                                 }
                               else
@@ -8027,7 +9050,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx1x1xx0xxxxxxxx111100xx
                                          orr.  */
-                                      return 123;
+                                      return 131;
                                     }
                                   else
                                     {
@@ -8035,7 +9058,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx1x1xx0xxxxxxxx111101xx
                                          bic.  */
-                                      return 130;
+                                      return 139;
                                     }
                                 }
                             }
@@ -8052,7 +9075,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx0xxxxx0xx1111100x
                                          fmadd.  */
-                                      return 651;
+                                      return 805;
                                     }
                                   else
                                     {
@@ -8060,7 +9083,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx0xxxxx1xx1111100x
                                          fnmadd.  */
-                                      return 653;
+                                      return 809;
                                     }
                                 }
                               else
@@ -8071,19 +9094,41 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           if (((word >> 14) & 0x1) == 0)
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0xx000xxxxxxxx1111101x
-                                                 fmla.  */
-                                              return 355;
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0xx000xxxxxxx01111101x
+                                                     fmla.  */
+                                                  return 422;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0xx000xxxxxxx11111101x
+                                                     fmla.  */
+                                                  return 421;
+                                                }
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0xx010xxxxxxxx1111101x
-                                                 fmls.  */
-                                              return 356;
+                                              if (((word >> 23) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0xx010xxxxxxx01111101x
+                                                     fmls.  */
+                                                  return 424;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0xx010xxxxxxx11111101x
+                                                     fmls.  */
+                                                  return 423;
+                                                }
                                             }
                                         }
                                       else
@@ -8094,7 +9139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0xx100xxxxxxxx1111101x
                                                  sqdmlal.  */
-                                              return 350;
+                                              return 416;
                                             }
                                           else
                                             {
@@ -8102,7 +9147,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0xx110xxxxxxxx1111101x
                                                  sqdmlsl.  */
-                                              return 351;
+                                              return 417;
                                             }
                                         }
                                     }
@@ -8116,7 +9161,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1x00x0xxxxxxxx1111101x
                                                  sshr.  */
-                                              return 477;
+                                              return 581;
                                             }
                                           else
                                             {
@@ -8124,7 +9169,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1x01x0xxxxxxxx1111101x
                                                  srshr.  */
-                                              return 479;
+                                              return 583;
                                             }
                                         }
                                       else
@@ -8137,7 +9182,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1x1000xxxxxxxx1111101x
                                                      ssra.  */
-                                                  return 478;
+                                                  return 582;
                                                 }
                                               else
                                                 {
@@ -8145,7 +9190,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1x1010xxxxxxxx1111101x
                                                      shl.  */
-                                                  return 481;
+                                                  return 585;
                                                 }
                                             }
                                           else
@@ -8156,7 +9201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1x1100xxxxxxxx1111101x
                                                      srsra.  */
-                                                  return 480;
+                                                  return 584;
                                                 }
                                               else
                                                 {
@@ -8164,7 +9209,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1x1110xxxxxxxx1111101x
                                                      sqshl.  */
-                                                  return 482;
+                                                  return 586;
                                                 }
                                             }
                                         }
@@ -8183,7 +9228,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx0000xxxxxxxx111111xx
                                              ushr.  */
-                                          return 487;
+                                          return 593;
                                         }
                                       else
                                         {
@@ -8191,7 +9236,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx0010xxxxxxxx111111xx
                                              sri.  */
-                                          return 491;
+                                          return 597;
                                         }
                                     }
                                   else
@@ -8202,7 +9247,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx0100xxxxxxxx111111xx
                                              urshr.  */
-                                          return 489;
+                                          return 595;
                                         }
                                       else
                                         {
@@ -8210,7 +9255,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx0110xxxxxxxx111111xx
                                              sqshlu.  */
-                                          return 493;
+                                          return 599;
                                         }
                                     }
                                 }
@@ -8224,7 +9269,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx1000xxxxxxxx111111xx
                                              usra.  */
-                                          return 488;
+                                          return 594;
                                         }
                                       else
                                         {
@@ -8232,7 +9277,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx1010xxxxxxxx111111xx
                                              sli.  */
-                                          return 492;
+                                          return 598;
                                         }
                                     }
                                   else
@@ -8243,7 +9288,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx1100xxxxxxxx111111xx
                                              ursra.  */
-                                          return 490;
+                                          return 596;
                                         }
                                       else
                                         {
@@ -8251,7 +9296,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxxxx1110xxxxxxxx111111xx
                                              uqshl.  */
-                                          return 494;
+                                          return 600;
                                         }
                                     }
                                 }
@@ -8274,7 +9319,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx0x0001xxxxxxxx11110xxx
                                              mul.  */
-                                          return 100;
+                                          return 104;
                                         }
                                       else
                                         {
@@ -8282,7 +9327,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx0x0011xxxxxxxx11110xxx
                                              sqdmulh.  */
-                                          return 105;
+                                          return 109;
                                         }
                                     }
                                   else
@@ -8295,7 +9340,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x01x1xxxxxxxx1111000x
                                                  smull.  */
-                                              return 101;
+                                              return 105;
                                             }
                                           else
                                             {
@@ -8303,7 +9348,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x01x1xxxxxxxx1111001x
                                                  smull2.  */
-                                              return 102;
+                                              return 106;
                                             }
                                         }
                                       else
@@ -8314,7 +9359,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x01x1xxxxxxxx1111010x
                                                  umull.  */
-                                              return 116;
+                                              return 123;
                                             }
                                           else
                                             {
@@ -8322,7 +9367,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x01x1xxxxxxxx1111011x
                                                  umull2.  */
-                                              return 117;
+                                              return 124;
                                             }
                                         }
                                     }
@@ -8333,21 +9378,43 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       if (((word >> 14) & 0x1) == 0)
                                         {
-                                          if (((word >> 29) & 0x1) == 0)
+                                          if (((word >> 23) & 0x1) == 0)
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x1001xxxxxxxx111100xx
-                                                 fmul.  */
-                                              return 109;
+                                              if (((word >> 29) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x1001xxxxxxx0111100xx
+                                                     fmul.  */
+                                                  return 116;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x1001xxxxxxx0111101xx
+                                                     fmulx.  */
+                                                  return 126;
+                                                }
                                             }
                                           else
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 xxxxxxxxxx0x1001xxxxxxxx111101xx
-                                                 fmulx.  */
-                                              return 118;
+                                              if (((word >> 29) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x1001xxxxxxx1111100xx
+                                                     fmul.  */
+                                                  return 115;
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     xxxxxxxxxx0x1001xxxxxxx1111101xx
+                                                     fmulx.  */
+                                                  return 125;
+                                                }
                                             }
                                         }
                                       else
@@ -8358,7 +9425,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x1011xxxxxxxx111100xx
                                                  sqrdmulh.  */
-                                              return 106;
+                                              return 110;
                                             }
                                           else
                                             {
@@ -8366,7 +9433,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x1011xxxxxxxx111101xx
                                                  sqrdmlah.  */
-                                              return 119;
+                                              return 127;
                                             }
                                         }
                                     }
@@ -8380,7 +9447,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x1101xxxxxxxx11110x0x
                                                  sqdmull.  */
-                                              return 103;
+                                              return 107;
                                             }
                                           else
                                             {
@@ -8388,7 +9455,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x1101xxxxxxxx11110x1x
                                                  sqdmull2.  */
-                                              return 104;
+                                              return 108;
                                             }
                                         }
                                       else
@@ -8397,7 +9464,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx0x1111xxxxxxxx11110xxx
                                              sqrdmlsh.  */
-                                          return 120;
+                                          return 128;
                                         }
                                     }
                                 }
@@ -8416,7 +9483,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx100x01xxxxxxxx111100xx
                                                  movi.  */
-                                              return 124;
+                                              return 132;
                                             }
                                           else
                                             {
@@ -8424,7 +9491,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx100x01xxxxxxxx111101xx
                                                  mvni.  */
-                                              return 131;
+                                              return 140;
                                             }
                                         }
                                       else
@@ -8435,7 +9502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx101x01xxxxxxxx111100xx
                                                  orr.  */
-                                              return 125;
+                                              return 133;
                                             }
                                           else
                                             {
@@ -8443,7 +9510,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx101x01xxxxxxxx111101xx
                                                  bic.  */
-                                              return 132;
+                                              return 141;
                                             }
                                         }
                                     }
@@ -8457,7 +9524,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx10x011xxxxxxxx111100xx
                                                  movi.  */
-                                              return 126;
+                                              return 134;
                                             }
                                           else
                                             {
@@ -8465,7 +9532,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx10x011xxxxxxxx111101xx
                                                  mvni.  */
-                                              return 133;
+                                              return 142;
                                             }
                                         }
                                       else
@@ -8478,7 +9545,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx100111xxxxxxxx111100xx
                                                      movi.  */
-                                                  return 127;
+                                                  return 135;
                                                 }
                                               else
                                                 {
@@ -8486,7 +9553,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx100111xxxxxxxx111101xx
                                                      movi.  */
-                                                  return 134;
+                                                  return 143;
                                                 }
                                             }
                                           else
@@ -8497,7 +9564,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx101111xxxxxxxx111100xx
                                                      fmov.  */
-                                                  return 128;
+                                                  return 136;
                                                 }
                                               else
                                                 {
@@ -8505,7 +9572,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx101111xxxxxxxx111101xx
                                                      fmov.  */
-                                                  return 136;
+                                                  return 145;
                                                 }
                                             }
                                         }
@@ -8523,7 +9590,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx110xx1xxxxxxxx1111000x
                                                  rshrn.  */
-                                              return 311;
+                                              return 373;
                                             }
                                           else
                                             {
@@ -8531,7 +9598,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx110xx1xxxxxxxx1111001x
                                                  rshrn2.  */
-                                              return 312;
+                                              return 374;
                                             }
                                         }
                                       else
@@ -8542,7 +9609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx110xx1xxxxxxxx1111010x
                                                  sqrshrun.  */
-                                              return 333;
+                                              return 397;
                                             }
                                           else
                                             {
@@ -8550,7 +9617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx110xx1xxxxxxxx1111011x
                                                  sqrshrun2.  */
-                                              return 334;
+                                              return 398;
                                             }
                                         }
                                     }
@@ -8566,7 +9633,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1110x1xxxxxxxx1111000x
                                                      sqrshrn.  */
-                                                  return 315;
+                                                  return 377;
                                                 }
                                               else
                                                 {
@@ -8574,7 +9641,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1110x1xxxxxxxx1111001x
                                                      sqrshrn2.  */
-                                                  return 316;
+                                                  return 378;
                                                 }
                                             }
                                           else
@@ -8585,7 +9652,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1110x1xxxxxxxx1111010x
                                                      uqrshrn.  */
-                                                  return 337;
+                                                  return 401;
                                                 }
                                               else
                                                 {
@@ -8593,7 +9660,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx1110x1xxxxxxxx1111011x
                                                      uqrshrn2.  */
-                                                  return 338;
+                                                  return 402;
                                                 }
                                             }
                                         }
@@ -8604,8 +9671,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1111x1xxxxxxxx111100xx
-                                                 fcvtzs.  */
-                                              return 322;
+                                                 fmov.  */
+                                              return 137;
                                             }
                                           else
                                             {
@@ -8613,7 +9680,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1111x1xxxxxxxx111101xx
                                                  fcvtzu.  */
-                                              return 344;
+                                              return 409;
                                             }
                                         }
                                     }
@@ -8632,7 +9699,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx1xxxxx0xx1111100x
                                          fmsub.  */
-                                      return 652;
+                                      return 807;
                                     }
                                   else
                                     {
@@ -8640,7 +9707,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxxxxxxx1xxxxx1xx1111100x
                                          fnmsub.  */
-                                      return 654;
+                                      return 811;
                                     }
                                 }
                               else
@@ -8653,7 +9720,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx0x0xx1xxxxxxxx1111101x
                                              sqdmulh.  */
-                                          return 353;
+                                          return 419;
                                         }
                                       else
                                         {
@@ -8661,11 +9728,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               if (((word >> 14) & 0x1) == 0)
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     xxxxxxxxxx0x1001xxxxxxxx1111101x
-                                                     fmul.  */
-                                                  return 357;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx0x1001xxxxxxx01111101x
+                                                         fmul.  */
+                                                      return 426;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         xxxxxxxxxx0x1001xxxxxxx11111101x
+                                                         fmul.  */
+                                                      return 425;
+                                                    }
                                                 }
                                               else
                                                 {
@@ -8673,7 +9751,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxxxxxxxxx0x1011xxxxxxxx1111101x
                                                      sqrdmulh.  */
-                                                  return 354;
+                                                  return 420;
                                                 }
                                             }
                                           else
@@ -8682,7 +9760,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx0x11x1xxxxxxxx1111101x
                                                  sqdmull.  */
-                                              return 352;
+                                              return 418;
                                             }
                                         }
                                     }
@@ -8696,7 +9774,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx100xx1xxxxxxxx1111101x
                                                  scvtf.  */
-                                              return 485;
+                                              return 589;
                                             }
                                           else
                                             {
@@ -8704,7 +9782,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx101xx1xxxxxxxx1111101x
                                                  sqshrn.  */
-                                              return 483;
+                                              return 587;
                                             }
                                         }
                                       else
@@ -8715,7 +9793,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx11x0x1xxxxxxxx1111101x
                                                  sqrshrn.  */
-                                              return 484;
+                                              return 588;
                                             }
                                           else
                                             {
@@ -8723,7 +9801,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx11x1x1xxxxxxxx1111101x
                                                  fcvtzs.  */
-                                              return 486;
+                                              return 591;
                                             }
                                         }
                                     }
@@ -8737,11 +9815,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       if (((word >> 14) & 0x1) == 0)
                                         {
-                                          /* 33222222222211111111110000000000
-                                             10987654321098765432109876543210
-                                             xxxxxxxxxx0xx001xxxxxxxx111111xx
-                                             fmulx.  */
-                                          return 358;
+                                          if (((word >> 23) & 0x1) == 0)
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxx0xx001xxxxxxx0111111xx
+                                                 fmulx.  */
+                                              return 428;
+                                            }
+                                          else
+                                            {
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 xxxxxxxxxx0xx001xxxxxxx1111111xx
+                                                 fmulx.  */
+                                              return 427;
+                                            }
                                         }
                                       else
                                         {
@@ -8749,7 +9838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx0xx011xxxxxxxx111111xx
                                              sqrdmlah.  */
-                                          return 359;
+                                          return 429;
                                         }
                                     }
                                   else
@@ -8758,7 +9847,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          xxxxxxxxxx0xx1x1xxxxxxxx111111xx
                                          sqrdmlsh.  */
-                                      return 360;
+                                      return 430;
                                     }
                                 }
                               else
@@ -8773,7 +9862,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1000x1xxxxxxxx111111xx
                                                  sqshrun.  */
-                                              return 495;
+                                              return 601;
                                             }
                                           else
                                             {
@@ -8781,7 +9870,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1001x1xxxxxxxx111111xx
                                                  ucvtf.  */
-                                              return 499;
+                                              return 605;
                                             }
                                         }
                                       else
@@ -8790,7 +9879,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx101xx1xxxxxxxx111111xx
                                              uqshrn.  */
-                                          return 497;
+                                          return 603;
                                         }
                                     }
                                   else
@@ -8801,7 +9890,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxxxxxxxxx110xx1xxxxxxxx111111xx
                                              sqrshrun.  */
-                                          return 496;
+                                          return 602;
                                         }
                                       else
                                         {
@@ -8811,7 +9900,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1110x1xxxxxxxx111111xx
                                                  uqrshrn.  */
-                                              return 498;
+                                              return 604;
                                             }
                                           else
                                             {
@@ -8819,7 +9908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxxxxxxxxx1111x1xxxxxxxx111111xx
                                                  fcvtzu.  */
-                                              return 500;
+                                              return 607;
                                             }
                                         }
                                     }
@@ -8850,93 +9939,208 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
   int value;
   switch (key)
     {
-    case 741: value = 745; break;      /* stnp --> stp.  */
-    case 745: return NULL;             /* stp --> NULL.  */
-    case 739: value = 740; break;      /* stllrb --> stllrh.  */
-    case 740: return NULL;             /* stllrh --> NULL.  */
-    case 742: value = 746; break;      /* ldnp --> ldp.  */
-    case 746: return NULL;             /* ldp --> NULL.  */
-    case 957: value = 958; break;      /* msr --> hint.  */
-    case 958: value = 965; break;      /* hint --> clrex.  */
-    case 965: value = 966; break;      /* clrex --> dsb.  */
-    case 966: value = 967; break;      /* dsb --> dmb.  */
-    case 967: value = 968; break;      /* dmb --> isb.  */
-    case 968: value = 969; break;      /* isb --> sys.  */
-    case 969: value = 974; break;      /* sys --> msr.  */
-    case 974: return NULL;             /* msr --> NULL.  */
-    case 975: value = 976; break;      /* sysl --> mrs.  */
-    case 976: return NULL;             /* mrs --> NULL.  */
-    case 361: value = 362; break;      /* st4 --> st1.  */
-    case 362: value = 363; break;      /* st1 --> st2.  */
-    case 363: value = 364; break;      /* st2 --> st3.  */
-    case 364: return NULL;             /* st3 --> NULL.  */
-    case 369: value = 370; break;      /* st4 --> st1.  */
-    case 370: value = 371; break;      /* st1 --> st2.  */
-    case 371: value = 372; break;      /* st2 --> st3.  */
-    case 372: return NULL;             /* st3 --> NULL.  */
-    case 365: value = 366; break;      /* ld4 --> ld1.  */
-    case 366: value = 367; break;      /* ld1 --> ld2.  */
-    case 367: value = 368; break;      /* ld2 --> ld3.  */
-    case 368: return NULL;             /* ld3 --> NULL.  */
-    case 381: value = 383; break;      /* ld1 --> ld1r.  */
-    case 383: return NULL;             /* ld1r --> NULL.  */
-    case 385: value = 387; break;      /* ld2 --> ld2r.  */
-    case 387: return NULL;             /* ld2r --> NULL.  */
-    case 382: value = 384; break;      /* ld3 --> ld3r.  */
-    case 384: return NULL;             /* ld3r --> NULL.  */
-    case 386: value = 388; break;      /* ld4 --> ld4r.  */
-    case 388: return NULL;             /* ld4r --> NULL.  */
-    case 373: value = 374; break;      /* ld4 --> ld1.  */
-    case 374: value = 375; break;      /* ld1 --> ld2.  */
-    case 375: value = 376; break;      /* ld2 --> ld3.  */
-    case 376: return NULL;             /* ld3 --> NULL.  */
-    case 393: value = 395; break;      /* ld1 --> ld1r.  */
-    case 395: return NULL;             /* ld1r --> NULL.  */
-    case 394: value = 396; break;      /* ld3 --> ld3r.  */
-    case 396: return NULL;             /* ld3r --> NULL.  */
-    case 397: value = 399; break;      /* ld2 --> ld2r.  */
-    case 399: return NULL;             /* ld2r --> NULL.  */
-    case 398: value = 400; break;      /* ld4 --> ld4r.  */
-    case 400: return NULL;             /* ld4r --> NULL.  */
-    case 122: value = 303; break;      /* movi --> sshr.  */
-    case 303: value = 305; break;      /* sshr --> srshr.  */
-    case 305: return NULL;             /* srshr --> NULL.  */
-    case 129: value = 323; break;      /* mvni --> ushr.  */
-    case 323: value = 325; break;      /* ushr --> urshr.  */
-    case 325: value = 327; break;      /* urshr --> sri.  */
-    case 327: value = 329; break;      /* sri --> sqshlu.  */
-    case 329: return NULL;             /* sqshlu --> NULL.  */
-    case 123: value = 304; break;      /* orr --> ssra.  */
-    case 304: value = 306; break;      /* ssra --> srsra.  */
-    case 306: value = 307; break;      /* srsra --> shl.  */
-    case 307: value = 308; break;      /* shl --> sqshl.  */
-    case 308: return NULL;             /* sqshl --> NULL.  */
-    case 130: value = 324; break;      /* bic --> usra.  */
-    case 324: value = 326; break;      /* usra --> ursra.  */
-    case 326: value = 328; break;      /* ursra --> sli.  */
-    case 328: value = 330; break;      /* sli --> uqshl.  */
-    case 330: return NULL;             /* uqshl --> NULL.  */
-    case 124: value = 309; break;      /* movi --> shrn.  */
-    case 309: value = 310; break;      /* shrn --> shrn2.  */
-    case 310: value = 317; break;      /* shrn2 --> sshll.  */
-    case 317: value = 319; break;      /* sshll --> sshll2.  */
-    case 319: return NULL;             /* sshll2 --> NULL.  */
-    case 131: value = 331; break;      /* mvni --> sqshrun.  */
-    case 331: value = 332; break;      /* sqshrun --> sqshrun2.  */
-    case 332: value = 339; break;      /* sqshrun2 --> ushll.  */
-    case 339: value = 341; break;      /* ushll --> ushll2.  */
-    case 341: return NULL;             /* ushll2 --> NULL.  */
-    case 125: value = 313; break;      /* orr --> sqshrn.  */
-    case 313: value = 314; break;      /* sqshrn --> sqshrn2.  */
-    case 314: return NULL;             /* sqshrn2 --> NULL.  */
-    case 132: value = 335; break;      /* bic --> uqshrn.  */
-    case 335: value = 336; break;      /* uqshrn --> uqshrn2.  */
-    case 336: return NULL;             /* uqshrn2 --> NULL.  */
-    case 127: value = 321; break;      /* movi --> scvtf.  */
-    case 321: return NULL;             /* scvtf --> NULL.  */
-    case 134: value = 135; break;      /* movi --> movi.  */
-    case 135: value = 343; break;      /* movi --> ucvtf.  */
-    case 343: return NULL;             /* ucvtf --> NULL.  */
+    case 901: value = 905; break;      /* stnp --> stp.  */
+    case 905: return NULL;             /* stp --> NULL.  */
+    case 899: value = 900; break;      /* stllrb --> stllrh.  */
+    case 900: return NULL;             /* stllrh --> NULL.  */
+    case 902: value = 906; break;      /* ldnp --> ldp.  */
+    case 906: return NULL;             /* ldp --> NULL.  */
+    case 1117: value = 1118; break;    /* msr --> hint.  */
+    case 1118: value = 1127; break;    /* hint --> clrex.  */
+    case 1127: value = 1128; break;    /* clrex --> dsb.  */
+    case 1128: value = 1129; break;    /* dsb --> dmb.  */
+    case 1129: value = 1130; break;    /* dmb --> isb.  */
+    case 1130: value = 1131; break;    /* isb --> sys.  */
+    case 1131: value = 1136; break;    /* sys --> msr.  */
+    case 1136: return NULL;            /* msr --> NULL.  */
+    case 1137: value = 1138; break;    /* sysl --> mrs.  */
+    case 1138: return NULL;            /* mrs --> NULL.  */
+    case 431: value = 432; break;      /* st4 --> st1.  */
+    case 432: value = 433; break;      /* st1 --> st2.  */
+    case 433: value = 434; break;      /* st2 --> st3.  */
+    case 434: return NULL;             /* st3 --> NULL.  */
+    case 439: value = 440; break;      /* st4 --> st1.  */
+    case 440: value = 441; break;      /* st1 --> st2.  */
+    case 441: value = 442; break;      /* st2 --> st3.  */
+    case 442: return NULL;             /* st3 --> NULL.  */
+    case 435: value = 436; break;      /* ld4 --> ld1.  */
+    case 436: value = 437; break;      /* ld1 --> ld2.  */
+    case 437: value = 438; break;      /* ld2 --> ld3.  */
+    case 438: return NULL;             /* ld3 --> NULL.  */
+    case 451: value = 453; break;      /* ld1 --> ld1r.  */
+    case 453: return NULL;             /* ld1r --> NULL.  */
+    case 455: value = 457; break;      /* ld2 --> ld2r.  */
+    case 457: return NULL;             /* ld2r --> NULL.  */
+    case 452: value = 454; break;      /* ld3 --> ld3r.  */
+    case 454: return NULL;             /* ld3r --> NULL.  */
+    case 456: value = 458; break;      /* ld4 --> ld4r.  */
+    case 458: return NULL;             /* ld4r --> NULL.  */
+    case 443: value = 444; break;      /* ld4 --> ld1.  */
+    case 444: value = 445; break;      /* ld1 --> ld2.  */
+    case 445: value = 446; break;      /* ld2 --> ld3.  */
+    case 446: return NULL;             /* ld3 --> NULL.  */
+    case 463: value = 465; break;      /* ld1 --> ld1r.  */
+    case 465: return NULL;             /* ld1r --> NULL.  */
+    case 464: value = 466; break;      /* ld3 --> ld3r.  */
+    case 466: return NULL;             /* ld3r --> NULL.  */
+    case 467: value = 469; break;      /* ld2 --> ld2r.  */
+    case 469: return NULL;             /* ld2r --> NULL.  */
+    case 468: value = 470; break;      /* ld4 --> ld4r.  */
+    case 470: return NULL;             /* ld4r --> NULL.  */
+    case 718: value = 719; break;      /* fcvtzs --> fcvtzs.  */
+    case 719: return NULL;             /* fcvtzs --> NULL.  */
+    case 714: value = 715; break;      /* scvtf --> scvtf.  */
+    case 715: return NULL;             /* scvtf --> NULL.  */
+    case 720: value = 721; break;      /* fcvtzu --> fcvtzu.  */
+    case 721: return NULL;             /* fcvtzu --> NULL.  */
+    case 716: value = 717; break;      /* ucvtf --> ucvtf.  */
+    case 717: return NULL;             /* ucvtf --> NULL.  */
+    case 722: value = 723; break;      /* fcvtns --> fcvtns.  */
+    case 723: return NULL;             /* fcvtns --> NULL.  */
+    case 742: value = 743; break;      /* fcvtms --> fcvtms.  */
+    case 743: return NULL;             /* fcvtms --> NULL.  */
+    case 738: value = 739; break;      /* fcvtps --> fcvtps.  */
+    case 739: return NULL;             /* fcvtps --> NULL.  */
+    case 746: value = 747; break;      /* fcvtzs --> fcvtzs.  */
+    case 747: return NULL;             /* fcvtzs --> NULL.  */
+    case 730: value = 731; break;      /* fcvtas --> fcvtas.  */
+    case 731: return NULL;             /* fcvtas --> NULL.  */
+    case 726: value = 727; break;      /* scvtf --> scvtf.  */
+    case 727: return NULL;             /* scvtf --> NULL.  */
+    case 734: value = 735; break;      /* fmov --> fmov.  */
+    case 735: return NULL;             /* fmov --> NULL.  */
+    case 724: value = 725; break;      /* fcvtnu --> fcvtnu.  */
+    case 725: return NULL;             /* fcvtnu --> NULL.  */
+    case 744: value = 745; break;      /* fcvtmu --> fcvtmu.  */
+    case 745: return NULL;             /* fcvtmu --> NULL.  */
+    case 740: value = 741; break;      /* fcvtpu --> fcvtpu.  */
+    case 741: return NULL;             /* fcvtpu --> NULL.  */
+    case 748: value = 749; break;      /* fcvtzu --> fcvtzu.  */
+    case 749: return NULL;             /* fcvtzu --> NULL.  */
+    case 732: value = 733; break;      /* fcvtau --> fcvtau.  */
+    case 733: return NULL;             /* fcvtau --> NULL.  */
+    case 728: value = 729; break;      /* ucvtf --> ucvtf.  */
+    case 729: return NULL;             /* ucvtf --> NULL.  */
+    case 736: value = 737; break;      /* fmov --> fmov.  */
+    case 737: return NULL;             /* fmov --> NULL.  */
+    case 764: value = 765; break;      /* fmov --> fmov.  */
+    case 765: return NULL;             /* fmov --> NULL.  */
+    case 773: value = 774; break;      /* frintn --> frintn.  */
+    case 774: return NULL;             /* frintn --> NULL.  */
+    case 768: value = 769; break;      /* fneg --> fneg.  */
+    case 769: return NULL;             /* fneg --> NULL.  */
+    case 777: value = 778; break;      /* frintm --> frintm.  */
+    case 778: return NULL;             /* frintm --> NULL.  */
+    case 766: value = 767; break;      /* fabs --> fabs.  */
+    case 767: return NULL;             /* fabs --> NULL.  */
+    case 775: value = 776; break;      /* frintp --> frintp.  */
+    case 776: return NULL;             /* frintp --> NULL.  */
+    case 770: value = 771; break;      /* fsqrt --> fsqrt.  */
+    case 771: return NULL;             /* fsqrt --> NULL.  */
+    case 779: value = 780; break;      /* frintz --> frintz.  */
+    case 780: return NULL;             /* frintz --> NULL.  */
+    case 781: value = 782; break;      /* frinta --> frinta.  */
+    case 782: return NULL;             /* frinta --> NULL.  */
+    case 783: value = 784; break;      /* frintx --> frintx.  */
+    case 784: return NULL;             /* frintx --> NULL.  */
+    case 785: value = 786; break;      /* frinti --> frinti.  */
+    case 786: return NULL;             /* frinti --> NULL.  */
+    case 756: value = 757; break;      /* fcmp --> fcmp.  */
+    case 757: return NULL;             /* fcmp --> NULL.  */
+    case 758: value = 759; break;      /* fcmpe --> fcmpe.  */
+    case 759: return NULL;             /* fcmpe --> NULL.  */
+    case 760: value = 761; break;      /* fcmp --> fcmp.  */
+    case 761: return NULL;             /* fcmp --> NULL.  */
+    case 762: value = 763; break;      /* fcmpe --> fcmpe.  */
+    case 763: return NULL;             /* fcmpe --> NULL.  */
+    case 813: value = 814; break;      /* fmov --> fmov.  */
+    case 814: return NULL;             /* fmov --> NULL.  */
+    case 787: value = 788; break;      /* fmul --> fmul.  */
+    case 788: return NULL;             /* fmul --> NULL.  */
+    case 803: value = 804; break;      /* fnmul --> fnmul.  */
+    case 804: return NULL;             /* fnmul --> NULL.  */
+    case 795: value = 796; break;      /* fmax --> fmax.  */
+    case 796: return NULL;             /* fmax --> NULL.  */
+    case 791: value = 792; break;      /* fadd --> fadd.  */
+    case 792: return NULL;             /* fadd --> NULL.  */
+    case 799: value = 800; break;      /* fmaxnm --> fmaxnm.  */
+    case 800: return NULL;             /* fmaxnm --> NULL.  */
+    case 789: value = 790; break;      /* fdiv --> fdiv.  */
+    case 790: return NULL;             /* fdiv --> NULL.  */
+    case 797: value = 798; break;      /* fmin --> fmin.  */
+    case 798: return NULL;             /* fmin --> NULL.  */
+    case 793: value = 794; break;      /* fsub --> fsub.  */
+    case 794: return NULL;             /* fsub --> NULL.  */
+    case 801: value = 802; break;      /* fminnm --> fminnm.  */
+    case 802: return NULL;             /* fminnm --> NULL.  */
+    case 752: value = 753; break;      /* fccmp --> fccmp.  */
+    case 753: return NULL;             /* fccmp --> NULL.  */
+    case 754: value = 755; break;      /* fccmpe --> fccmpe.  */
+    case 755: return NULL;             /* fccmpe --> NULL.  */
+    case 815: value = 816; break;      /* fcsel --> fcsel.  */
+    case 816: return NULL;             /* fcsel --> NULL.  */
+    case 130: value = 365; break;      /* movi --> sshr.  */
+    case 365: value = 367; break;      /* sshr --> srshr.  */
+    case 367: return NULL;             /* srshr --> NULL.  */
+    case 138: value = 387; break;      /* mvni --> ushr.  */
+    case 387: value = 389; break;      /* ushr --> urshr.  */
+    case 389: value = 391; break;      /* urshr --> sri.  */
+    case 391: value = 393; break;      /* sri --> sqshlu.  */
+    case 393: return NULL;             /* sqshlu --> NULL.  */
+    case 131: value = 366; break;      /* orr --> ssra.  */
+    case 366: value = 368; break;      /* ssra --> srsra.  */
+    case 368: value = 369; break;      /* srsra --> shl.  */
+    case 369: value = 370; break;      /* shl --> sqshl.  */
+    case 370: return NULL;             /* sqshl --> NULL.  */
+    case 139: value = 388; break;      /* bic --> usra.  */
+    case 388: value = 390; break;      /* usra --> ursra.  */
+    case 390: value = 392; break;      /* ursra --> sli.  */
+    case 392: value = 394; break;      /* sli --> uqshl.  */
+    case 394: return NULL;             /* uqshl --> NULL.  */
+    case 805: value = 806; break;      /* fmadd --> fmadd.  */
+    case 806: return NULL;             /* fmadd --> NULL.  */
+    case 809: value = 810; break;      /* fnmadd --> fnmadd.  */
+    case 810: return NULL;             /* fnmadd --> NULL.  */
+    case 132: value = 371; break;      /* movi --> shrn.  */
+    case 371: value = 372; break;      /* shrn --> shrn2.  */
+    case 372: value = 379; break;      /* shrn2 --> sshll.  */
+    case 379: value = 381; break;      /* sshll --> sshll2.  */
+    case 381: return NULL;             /* sshll2 --> NULL.  */
+    case 140: value = 395; break;      /* mvni --> sqshrun.  */
+    case 395: value = 396; break;      /* sqshrun --> sqshrun2.  */
+    case 396: value = 403; break;      /* sqshrun2 --> ushll.  */
+    case 403: value = 405; break;      /* ushll --> ushll2.  */
+    case 405: return NULL;             /* ushll2 --> NULL.  */
+    case 133: value = 375; break;      /* orr --> sqshrn.  */
+    case 375: value = 376; break;      /* sqshrn --> sqshrn2.  */
+    case 376: return NULL;             /* sqshrn2 --> NULL.  */
+    case 141: value = 399; break;      /* bic --> uqshrn.  */
+    case 399: value = 400; break;      /* uqshrn --> uqshrn2.  */
+    case 400: return NULL;             /* uqshrn2 --> NULL.  */
+    case 135: value = 383; break;      /* movi --> scvtf.  */
+    case 383: value = 384; break;      /* scvtf --> scvtf.  */
+    case 384: return NULL;             /* scvtf --> NULL.  */
+    case 143: value = 144; break;      /* movi --> movi.  */
+    case 144: value = 407; break;      /* movi --> ucvtf.  */
+    case 407: value = 408; break;      /* ucvtf --> ucvtf.  */
+    case 408: return NULL;             /* ucvtf --> NULL.  */
+    case 137: value = 385; break;      /* fmov --> fcvtzs.  */
+    case 385: value = 386; break;      /* fcvtzs --> fcvtzs.  */
+    case 386: return NULL;             /* fcvtzs --> NULL.  */
+    case 409: value = 410; break;      /* fcvtzu --> fcvtzu.  */
+    case 410: return NULL;             /* fcvtzu --> NULL.  */
+    case 807: value = 808; break;      /* fmsub --> fmsub.  */
+    case 808: return NULL;             /* fmsub --> NULL.  */
+    case 811: value = 812; break;      /* fnmsub --> fnmsub.  */
+    case 812: return NULL;             /* fnmsub --> NULL.  */
+    case 589: value = 590; break;      /* scvtf --> scvtf.  */
+    case 590: return NULL;             /* scvtf --> NULL.  */
+    case 591: value = 592; break;      /* fcvtzs --> fcvtzs.  */
+    case 592: return NULL;             /* fcvtzs --> NULL.  */
+    case 605: value = 606; break;      /* ucvtf --> ucvtf.  */
+    case 606: return NULL;             /* ucvtf --> NULL.  */
+    case 607: value = 608; break;      /* fcvtzu --> fcvtzu.  */
+    case 608: return NULL;             /* fcvtzu --> NULL.  */
     default: return NULL;
     }
 
@@ -8961,91 +10165,92 @@ aarch64_find_alias_opcode (const aarch64_opcode *opcode)
     case 20: value = 21; break;        /* adds --> cmn.  */
     case 22: value = 23; break;        /* sub --> neg.  */
     case 24: value = 26; break;        /* subs --> negs.  */
-    case 140: value = 141; break;      /* umov --> mov.  */
-    case 142: value = 143; break;      /* ins --> mov.  */
-    case 144: value = 145; break;      /* ins --> mov.  */
-    case 205: value = 206; break;      /* not --> mvn.  */
-    case 260: value = 261; break;      /* orr --> mov.  */
-    case 317: value = 318; break;      /* sshll --> sxtl.  */
-    case 319: value = 320; break;      /* sshll2 --> sxtl2.  */
-    case 339: value = 340; break;      /* ushll --> uxtl.  */
-    case 341: value = 342; break;      /* ushll2 --> uxtl2.  */
-    case 436: value = 437; break;      /* dup --> mov.  */
-    case 501: value = 506; break;      /* sbfm --> sxtw.  */
-    case 508: value = 510; break;      /* bfm --> bfxil.  */
-    case 511: value = 515; break;      /* ubfm --> uxth.  */
-    case 533: value = 535; break;      /* csinc --> cset.  */
-    case 536: value = 538; break;      /* csinv --> csetm.  */
-    case 539: value = 540; break;      /* csneg --> cneg.  */
-    case 564: value = 565; break;      /* lslv --> lsl.  */
-    case 566: value = 567; break;      /* lsrv --> lsr.  */
-    case 568: value = 569; break;      /* asrv --> asr.  */
-    case 570: value = 571; break;      /* rorv --> ror.  */
-    case 580: value = 581; break;      /* madd --> mul.  */
-    case 582: value = 583; break;      /* msub --> mneg.  */
-    case 584: value = 585; break;      /* smaddl --> smull.  */
-    case 586: value = 587; break;      /* smsubl --> smnegl.  */
-    case 589: value = 590; break;      /* umaddl --> umull.  */
-    case 591: value = 592; break;      /* umsubl --> umnegl.  */
-    case 602: value = 603; break;      /* extr --> ror.  */
-    case 759: value = 760; break;      /* and --> bic.  */
-    case 761: value = 762; break;      /* orr --> mov.  */
-    case 764: value = 765; break;      /* ands --> tst.  */
-    case 768: value = 770; break;      /* orr --> uxtw.  */
-    case 771: value = 772; break;      /* orn --> mvn.  */
-    case 775: value = 776; break;      /* ands --> tst.  */
-    case 806: value = 902; break;      /* ldaddb --> staddb.  */
-    case 807: value = 903; break;      /* ldaddh --> staddh.  */
-    case 808: value = 904; break;      /* ldadd --> stadd.  */
-    case 810: value = 905; break;      /* ldaddlb --> staddlb.  */
-    case 813: value = 906; break;      /* ldaddlh --> staddlh.  */
-    case 816: value = 907; break;      /* ldaddl --> staddl.  */
-    case 818: value = 908; break;      /* ldclrb --> stclrb.  */
-    case 819: value = 909; break;      /* ldclrh --> stclrh.  */
-    case 820: value = 910; break;      /* ldclr --> stclr.  */
-    case 822: value = 911; break;      /* ldclrlb --> stclrlb.  */
-    case 825: value = 912; break;      /* ldclrlh --> stclrlh.  */
-    case 828: value = 913; break;      /* ldclrl --> stclrl.  */
-    case 830: value = 914; break;      /* ldeorb --> steorb.  */
-    case 831: value = 915; break;      /* ldeorh --> steorh.  */
-    case 832: value = 916; break;      /* ldeor --> steor.  */
-    case 834: value = 917; break;      /* ldeorlb --> steorlb.  */
-    case 837: value = 918; break;      /* ldeorlh --> steorlh.  */
-    case 840: value = 919; break;      /* ldeorl --> steorl.  */
-    case 842: value = 920; break;      /* ldsetb --> stsetb.  */
-    case 843: value = 921; break;      /* ldseth --> stseth.  */
-    case 844: value = 922; break;      /* ldset --> stset.  */
-    case 846: value = 923; break;      /* ldsetlb --> stsetlb.  */
-    case 849: value = 924; break;      /* ldsetlh --> stsetlh.  */
-    case 852: value = 925; break;      /* ldsetl --> stsetl.  */
-    case 854: value = 926; break;      /* ldsmaxb --> stsmaxb.  */
-    case 855: value = 927; break;      /* ldsmaxh --> stsmaxh.  */
-    case 856: value = 928; break;      /* ldsmax --> stsmax.  */
-    case 858: value = 929; break;      /* ldsmaxlb --> stsmaxlb.  */
-    case 861: value = 930; break;      /* ldsmaxlh --> stsmaxlh.  */
-    case 864: value = 931; break;      /* ldsmaxl --> stsmaxl.  */
-    case 866: value = 932; break;      /* ldsminb --> stsminb.  */
-    case 867: value = 933; break;      /* ldsminh --> stsminh.  */
-    case 868: value = 934; break;      /* ldsmin --> stsmin.  */
-    case 870: value = 935; break;      /* ldsminlb --> stsminlb.  */
-    case 873: value = 936; break;      /* ldsminlh --> stsminlh.  */
-    case 876: value = 937; break;      /* ldsminl --> stsminl.  */
-    case 878: value = 938; break;      /* ldumaxb --> stumaxb.  */
-    case 879: value = 939; break;      /* ldumaxh --> stumaxh.  */
-    case 880: value = 940; break;      /* ldumax --> stumax.  */
-    case 882: value = 941; break;      /* ldumaxlb --> stumaxlb.  */
-    case 885: value = 942; break;      /* ldumaxlh --> stumaxlh.  */
-    case 888: value = 943; break;      /* ldumaxl --> stumaxl.  */
-    case 890: value = 944; break;      /* lduminb --> stuminb.  */
-    case 891: value = 945; break;      /* lduminh --> stuminh.  */
-    case 892: value = 946; break;      /* ldumin --> stumin.  */
-    case 894: value = 947; break;      /* lduminlb --> stuminlb.  */
-    case 897: value = 948; break;      /* lduminlh --> stuminlh.  */
-    case 900: value = 949; break;      /* lduminl --> stuminl.  */
-    case 950: value = 951; break;      /* movn --> mov.  */
-    case 952: value = 953; break;      /* movz --> mov.  */
-    case 958: value = 964; break;      /* hint --> sevl.  */
-    case 969: value = 973; break;      /* sys --> tlbi.  */
+    case 149: value = 150; break;      /* umov --> mov.  */
+    case 151: value = 152; break;      /* ins --> mov.  */
+    case 153: value = 154; break;      /* ins --> mov.  */
+    case 235: value = 236; break;      /* not --> mvn.  */
+    case 310: value = 311; break;      /* orr --> mov.  */
+    case 379: value = 380; break;      /* sshll --> sxtl.  */
+    case 381: value = 382; break;      /* sshll2 --> sxtl2.  */
+    case 403: value = 404; break;      /* ushll --> uxtl.  */
+    case 405: value = 406; break;      /* ushll2 --> uxtl2.  */
+    case 526: value = 527; break;      /* dup --> mov.  */
+    case 609: value = 614; break;      /* sbfm --> sxtw.  */
+    case 616: value = 618; break;      /* bfm --> bfc.  */
+    case 620: value = 624; break;      /* ubfm --> uxth.  */
+    case 642: value = 644; break;      /* csinc --> cset.  */
+    case 645: value = 647; break;      /* csinv --> csetm.  */
+    case 648: value = 649; break;      /* csneg --> cneg.  */
+    case 667: value = 667; break;      /* rev --> rev.  */
+    case 674: value = 675; break;      /* lslv --> lsl.  */
+    case 676: value = 677; break;      /* lsrv --> lsr.  */
+    case 678: value = 679; break;      /* asrv --> asr.  */
+    case 680: value = 681; break;      /* rorv --> ror.  */
+    case 690: value = 691; break;      /* madd --> mul.  */
+    case 692: value = 693; break;      /* msub --> mneg.  */
+    case 694: value = 695; break;      /* smaddl --> smull.  */
+    case 696: value = 697; break;      /* smsubl --> smnegl.  */
+    case 699: value = 700; break;      /* umaddl --> umull.  */
+    case 701: value = 702; break;      /* umsubl --> umnegl.  */
+    case 712: value = 713; break;      /* extr --> ror.  */
+    case 919: value = 920; break;      /* and --> bic.  */
+    case 921: value = 922; break;      /* orr --> mov.  */
+    case 924: value = 925; break;      /* ands --> tst.  */
+    case 928: value = 930; break;      /* orr --> uxtw.  */
+    case 931: value = 932; break;      /* orn --> mvn.  */
+    case 935: value = 936; break;      /* ands --> tst.  */
+    case 966: value = 1062; break;     /* ldaddb --> staddb.  */
+    case 967: value = 1063; break;     /* ldaddh --> staddh.  */
+    case 968: value = 1064; break;     /* ldadd --> stadd.  */
+    case 970: value = 1065; break;     /* ldaddlb --> staddlb.  */
+    case 973: value = 1066; break;     /* ldaddlh --> staddlh.  */
+    case 976: value = 1067; break;     /* ldaddl --> staddl.  */
+    case 978: value = 1068; break;     /* ldclrb --> stclrb.  */
+    case 979: value = 1069; break;     /* ldclrh --> stclrh.  */
+    case 980: value = 1070; break;     /* ldclr --> stclr.  */
+    case 982: value = 1071; break;     /* ldclrlb --> stclrlb.  */
+    case 985: value = 1072; break;     /* ldclrlh --> stclrlh.  */
+    case 988: value = 1073; break;     /* ldclrl --> stclrl.  */
+    case 990: value = 1074; break;     /* ldeorb --> steorb.  */
+    case 991: value = 1075; break;     /* ldeorh --> steorh.  */
+    case 992: value = 1076; break;     /* ldeor --> steor.  */
+    case 994: value = 1077; break;     /* ldeorlb --> steorlb.  */
+    case 997: value = 1078; break;     /* ldeorlh --> steorlh.  */
+    case 1000: value = 1079; break;    /* ldeorl --> steorl.  */
+    case 1002: value = 1080; break;    /* ldsetb --> stsetb.  */
+    case 1003: value = 1081; break;    /* ldseth --> stseth.  */
+    case 1004: value = 1082; break;    /* ldset --> stset.  */
+    case 1006: value = 1083; break;    /* ldsetlb --> stsetlb.  */
+    case 1009: value = 1084; break;    /* ldsetlh --> stsetlh.  */
+    case 1012: value = 1085; break;    /* ldsetl --> stsetl.  */
+    case 1014: value = 1086; break;    /* ldsmaxb --> stsmaxb.  */
+    case 1015: value = 1087; break;    /* ldsmaxh --> stsmaxh.  */
+    case 1016: value = 1088; break;    /* ldsmax --> stsmax.  */
+    case 1018: value = 1089; break;    /* ldsmaxlb --> stsmaxlb.  */
+    case 1021: value = 1090; break;    /* ldsmaxlh --> stsmaxlh.  */
+    case 1024: value = 1091; break;    /* ldsmaxl --> stsmaxl.  */
+    case 1026: value = 1092; break;    /* ldsminb --> stsminb.  */
+    case 1027: value = 1093; break;    /* ldsminh --> stsminh.  */
+    case 1028: value = 1094; break;    /* ldsmin --> stsmin.  */
+    case 1030: value = 1095; break;    /* ldsminlb --> stsminlb.  */
+    case 1033: value = 1096; break;    /* ldsminlh --> stsminlh.  */
+    case 1036: value = 1097; break;    /* ldsminl --> stsminl.  */
+    case 1038: value = 1098; break;    /* ldumaxb --> stumaxb.  */
+    case 1039: value = 1099; break;    /* ldumaxh --> stumaxh.  */
+    case 1040: value = 1100; break;    /* ldumax --> stumax.  */
+    case 1042: value = 1101; break;    /* ldumaxlb --> stumaxlb.  */
+    case 1045: value = 1102; break;    /* ldumaxlh --> stumaxlh.  */
+    case 1048: value = 1103; break;    /* ldumaxl --> stumaxl.  */
+    case 1050: value = 1104; break;    /* lduminb --> stuminb.  */
+    case 1051: value = 1105; break;    /* lduminh --> stuminh.  */
+    case 1052: value = 1106; break;    /* ldumin --> stumin.  */
+    case 1054: value = 1107; break;    /* lduminlb --> stuminlb.  */
+    case 1057: value = 1108; break;    /* lduminlh --> stuminlh.  */
+    case 1060: value = 1109; break;    /* lduminl --> stuminl.  */
+    case 1110: value = 1111; break;    /* movn --> mov.  */
+    case 1112: value = 1113; break;    /* movz --> mov.  */
+    case 1118: value = 1126; break;    /* hint --> psb.  */
+    case 1131: value = 1135; break;    /* sys --> tlbi.  */
     default: return NULL;
     }
 
@@ -9071,113 +10276,117 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode)
     case 23: value = 22; break;        /* neg --> sub.  */
     case 26: value = 25; break;        /* negs --> cmp.  */
     case 25: value = 24; break;        /* cmp --> subs.  */
-    case 141: value = 140; break;      /* mov --> umov.  */
-    case 143: value = 142; break;      /* mov --> ins.  */
-    case 145: value = 144; break;      /* mov --> ins.  */
-    case 206: value = 205; break;      /* mvn --> not.  */
-    case 261: value = 260; break;      /* mov --> orr.  */
-    case 318: value = 317; break;      /* sxtl --> sshll.  */
-    case 320: value = 319; break;      /* sxtl2 --> sshll2.  */
-    case 340: value = 339; break;      /* uxtl --> ushll.  */
-    case 342: value = 341; break;      /* uxtl2 --> ushll2.  */
-    case 437: value = 436; break;      /* mov --> dup.  */
-    case 506: value = 505; break;      /* sxtw --> sxth.  */
-    case 505: value = 504; break;      /* sxth --> sxtb.  */
-    case 504: value = 507; break;      /* sxtb --> asr.  */
-    case 507: value = 503; break;      /* asr --> sbfx.  */
-    case 503: value = 502; break;      /* sbfx --> sbfiz.  */
-    case 502: value = 501; break;      /* sbfiz --> sbfm.  */
-    case 510: value = 509; break;      /* bfxil --> bfi.  */
-    case 509: value = 508; break;      /* bfi --> bfm.  */
-    case 515: value = 514; break;      /* uxth --> uxtb.  */
-    case 514: value = 517; break;      /* uxtb --> lsr.  */
-    case 517: value = 516; break;      /* lsr --> lsl.  */
-    case 516: value = 513; break;      /* lsl --> ubfx.  */
-    case 513: value = 512; break;      /* ubfx --> ubfiz.  */
-    case 512: value = 511; break;      /* ubfiz --> ubfm.  */
-    case 535: value = 534; break;      /* cset --> cinc.  */
-    case 534: value = 533; break;      /* cinc --> csinc.  */
-    case 538: value = 537; break;      /* csetm --> cinv.  */
-    case 537: value = 536; break;      /* cinv --> csinv.  */
-    case 540: value = 539; break;      /* cneg --> csneg.  */
-    case 565: value = 564; break;      /* lsl --> lslv.  */
-    case 567: value = 566; break;      /* lsr --> lsrv.  */
-    case 569: value = 568; break;      /* asr --> asrv.  */
-    case 571: value = 570; break;      /* ror --> rorv.  */
-    case 581: value = 580; break;      /* mul --> madd.  */
-    case 583: value = 582; break;      /* mneg --> msub.  */
-    case 585: value = 584; break;      /* smull --> smaddl.  */
-    case 587: value = 586; break;      /* smnegl --> smsubl.  */
-    case 590: value = 589; break;      /* umull --> umaddl.  */
-    case 592: value = 591; break;      /* umnegl --> umsubl.  */
-    case 603: value = 602; break;      /* ror --> extr.  */
-    case 760: value = 759; break;      /* bic --> and.  */
-    case 762: value = 761; break;      /* mov --> orr.  */
-    case 765: value = 764; break;      /* tst --> ands.  */
-    case 770: value = 769; break;      /* uxtw --> mov.  */
-    case 769: value = 768; break;      /* mov --> orr.  */
-    case 772: value = 771; break;      /* mvn --> orn.  */
-    case 776: value = 775; break;      /* tst --> ands.  */
-    case 902: value = 806; break;      /* staddb --> ldaddb.  */
-    case 903: value = 807; break;      /* staddh --> ldaddh.  */
-    case 904: value = 808; break;      /* stadd --> ldadd.  */
-    case 905: value = 810; break;      /* staddlb --> ldaddlb.  */
-    case 906: value = 813; break;      /* staddlh --> ldaddlh.  */
-    case 907: value = 816; break;      /* staddl --> ldaddl.  */
-    case 908: value = 818; break;      /* stclrb --> ldclrb.  */
-    case 909: value = 819; break;      /* stclrh --> ldclrh.  */
-    case 910: value = 820; break;      /* stclr --> ldclr.  */
-    case 911: value = 822; break;      /* stclrlb --> ldclrlb.  */
-    case 912: value = 825; break;      /* stclrlh --> ldclrlh.  */
-    case 913: value = 828; break;      /* stclrl --> ldclrl.  */
-    case 914: value = 830; break;      /* steorb --> ldeorb.  */
-    case 915: value = 831; break;      /* steorh --> ldeorh.  */
-    case 916: value = 832; break;      /* steor --> ldeor.  */
-    case 917: value = 834; break;      /* steorlb --> ldeorlb.  */
-    case 918: value = 837; break;      /* steorlh --> ldeorlh.  */
-    case 919: value = 840; break;      /* steorl --> ldeorl.  */
-    case 920: value = 842; break;      /* stsetb --> ldsetb.  */
-    case 921: value = 843; break;      /* stseth --> ldseth.  */
-    case 922: value = 844; break;      /* stset --> ldset.  */
-    case 923: value = 846; break;      /* stsetlb --> ldsetlb.  */
-    case 924: value = 849; break;      /* stsetlh --> ldsetlh.  */
-    case 925: value = 852; break;      /* stsetl --> ldsetl.  */
-    case 926: value = 854; break;      /* stsmaxb --> ldsmaxb.  */
-    case 927: value = 855; break;      /* stsmaxh --> ldsmaxh.  */
-    case 928: value = 856; break;      /* stsmax --> ldsmax.  */
-    case 929: value = 858; break;      /* stsmaxlb --> ldsmaxlb.  */
-    case 930: value = 861; break;      /* stsmaxlh --> ldsmaxlh.  */
-    case 931: value = 864; break;      /* stsmaxl --> ldsmaxl.  */
-    case 932: value = 866; break;      /* stsminb --> ldsminb.  */
-    case 933: value = 867; break;      /* stsminh --> ldsminh.  */
-    case 934: value = 868; break;      /* stsmin --> ldsmin.  */
-    case 935: value = 870; break;      /* stsminlb --> ldsminlb.  */
-    case 936: value = 873; break;      /* stsminlh --> ldsminlh.  */
-    case 937: value = 876; break;      /* stsminl --> ldsminl.  */
-    case 938: value = 878; break;      /* stumaxb --> ldumaxb.  */
-    case 939: value = 879; break;      /* stumaxh --> ldumaxh.  */
-    case 940: value = 880; break;      /* stumax --> ldumax.  */
-    case 941: value = 882; break;      /* stumaxlb --> ldumaxlb.  */
-    case 942: value = 885; break;      /* stumaxlh --> ldumaxlh.  */
-    case 943: value = 888; break;      /* stumaxl --> ldumaxl.  */
-    case 944: value = 890; break;      /* stuminb --> lduminb.  */
-    case 945: value = 891; break;      /* stuminh --> lduminh.  */
-    case 946: value = 892; break;      /* stumin --> ldumin.  */
-    case 947: value = 894; break;      /* stuminlb --> lduminlb.  */
-    case 948: value = 897; break;      /* stuminlh --> lduminlh.  */
-    case 949: value = 900; break;      /* stuminl --> lduminl.  */
-    case 951: value = 950; break;      /* mov --> movn.  */
-    case 953: value = 952; break;      /* mov --> movz.  */
-    case 964: value = 963; break;      /* sevl --> sev.  */
-    case 963: value = 962; break;      /* sev --> wfi.  */
-    case 962: value = 961; break;      /* wfi --> wfe.  */
-    case 961: value = 960; break;      /* wfe --> yield.  */
-    case 960: value = 959; break;      /* yield --> nop.  */
-    case 959: value = 958; break;      /* nop --> hint.  */
-    case 973: value = 972; break;      /* tlbi --> ic.  */
-    case 972: value = 971; break;      /* ic --> dc.  */
-    case 971: value = 970; break;      /* dc --> at.  */
-    case 970: value = 969; break;      /* at --> sys.  */
+    case 150: value = 149; break;      /* mov --> umov.  */
+    case 152: value = 151; break;      /* mov --> ins.  */
+    case 154: value = 153; break;      /* mov --> ins.  */
+    case 236: value = 235; break;      /* mvn --> not.  */
+    case 311: value = 310; break;      /* mov --> orr.  */
+    case 380: value = 379; break;      /* sxtl --> sshll.  */
+    case 382: value = 381; break;      /* sxtl2 --> sshll2.  */
+    case 404: value = 403; break;      /* uxtl --> ushll.  */
+    case 406: value = 405; break;      /* uxtl2 --> ushll2.  */
+    case 527: value = 526; break;      /* mov --> dup.  */
+    case 614: value = 613; break;      /* sxtw --> sxth.  */
+    case 613: value = 612; break;      /* sxth --> sxtb.  */
+    case 612: value = 615; break;      /* sxtb --> asr.  */
+    case 615: value = 611; break;      /* asr --> sbfx.  */
+    case 611: value = 610; break;      /* sbfx --> sbfiz.  */
+    case 610: value = 609; break;      /* sbfiz --> sbfm.  */
+    case 618: value = 619; break;      /* bfc --> bfxil.  */
+    case 619: value = 617; break;      /* bfxil --> bfi.  */
+    case 617: value = 616; break;      /* bfi --> bfm.  */
+    case 624: value = 623; break;      /* uxth --> uxtb.  */
+    case 623: value = 626; break;      /* uxtb --> lsr.  */
+    case 626: value = 625; break;      /* lsr --> lsl.  */
+    case 625: value = 622; break;      /* lsl --> ubfx.  */
+    case 622: value = 621; break;      /* ubfx --> ubfiz.  */
+    case 621: value = 620; break;      /* ubfiz --> ubfm.  */
+    case 644: value = 643; break;      /* cset --> cinc.  */
+    case 643: value = 642; break;      /* cinc --> csinc.  */
+    case 647: value = 646; break;      /* csetm --> cinv.  */
+    case 646: value = 645; break;      /* cinv --> csinv.  */
+    case 649: value = 648; break;      /* cneg --> csneg.  */
+    case 667: value = 668; break;      /* rev --> rev64.  */
+    case 675: value = 674; break;      /* lsl --> lslv.  */
+    case 677: value = 676; break;      /* lsr --> lsrv.  */
+    case 679: value = 678; break;      /* asr --> asrv.  */
+    case 681: value = 680; break;      /* ror --> rorv.  */
+    case 691: value = 690; break;      /* mul --> madd.  */
+    case 693: value = 692; break;      /* mneg --> msub.  */
+    case 695: value = 694; break;      /* smull --> smaddl.  */
+    case 697: value = 696; break;      /* smnegl --> smsubl.  */
+    case 700: value = 699; break;      /* umull --> umaddl.  */
+    case 702: value = 701; break;      /* umnegl --> umsubl.  */
+    case 713: value = 712; break;      /* ror --> extr.  */
+    case 920: value = 919; break;      /* bic --> and.  */
+    case 922: value = 921; break;      /* mov --> orr.  */
+    case 925: value = 924; break;      /* tst --> ands.  */
+    case 930: value = 929; break;      /* uxtw --> mov.  */
+    case 929: value = 928; break;      /* mov --> orr.  */
+    case 932: value = 931; break;      /* mvn --> orn.  */
+    case 936: value = 935; break;      /* tst --> ands.  */
+    case 1062: value = 966; break;     /* staddb --> ldaddb.  */
+    case 1063: value = 967; break;     /* staddh --> ldaddh.  */
+    case 1064: value = 968; break;     /* stadd --> ldadd.  */
+    case 1065: value = 970; break;     /* staddlb --> ldaddlb.  */
+    case 1066: value = 973; break;     /* staddlh --> ldaddlh.  */
+    case 1067: value = 976; break;     /* staddl --> ldaddl.  */
+    case 1068: value = 978; break;     /* stclrb --> ldclrb.  */
+    case 1069: value = 979; break;     /* stclrh --> ldclrh.  */
+    case 1070: value = 980; break;     /* stclr --> ldclr.  */
+    case 1071: value = 982; break;     /* stclrlb --> ldclrlb.  */
+    case 1072: value = 985; break;     /* stclrlh --> ldclrlh.  */
+    case 1073: value = 988; break;     /* stclrl --> ldclrl.  */
+    case 1074: value = 990; break;     /* steorb --> ldeorb.  */
+    case 1075: value = 991; break;     /* steorh --> ldeorh.  */
+    case 1076: value = 992; break;     /* steor --> ldeor.  */
+    case 1077: value = 994; break;     /* steorlb --> ldeorlb.  */
+    case 1078: value = 997; break;     /* steorlh --> ldeorlh.  */
+    case 1079: value = 1000; break;    /* steorl --> ldeorl.  */
+    case 1080: value = 1002; break;    /* stsetb --> ldsetb.  */
+    case 1081: value = 1003; break;    /* stseth --> ldseth.  */
+    case 1082: value = 1004; break;    /* stset --> ldset.  */
+    case 1083: value = 1006; break;    /* stsetlb --> ldsetlb.  */
+    case 1084: value = 1009; break;    /* stsetlh --> ldsetlh.  */
+    case 1085: value = 1012; break;    /* stsetl --> ldsetl.  */
+    case 1086: value = 1014; break;    /* stsmaxb --> ldsmaxb.  */
+    case 1087: value = 1015; break;    /* stsmaxh --> ldsmaxh.  */
+    case 1088: value = 1016; break;    /* stsmax --> ldsmax.  */
+    case 1089: value = 1018; break;    /* stsmaxlb --> ldsmaxlb.  */
+    case 1090: value = 1021; break;    /* stsmaxlh --> ldsmaxlh.  */
+    case 1091: value = 1024; break;    /* stsmaxl --> ldsmaxl.  */
+    case 1092: value = 1026; break;    /* stsminb --> ldsminb.  */
+    case 1093: value = 1027; break;    /* stsminh --> ldsminh.  */
+    case 1094: value = 1028; break;    /* stsmin --> ldsmin.  */
+    case 1095: value = 1030; break;    /* stsminlb --> ldsminlb.  */
+    case 1096: value = 1033; break;    /* stsminlh --> ldsminlh.  */
+    case 1097: value = 1036; break;    /* stsminl --> ldsminl.  */
+    case 1098: value = 1038; break;    /* stumaxb --> ldumaxb.  */
+    case 1099: value = 1039; break;    /* stumaxh --> ldumaxh.  */
+    case 1100: value = 1040; break;    /* stumax --> ldumax.  */
+    case 1101: value = 1042; break;    /* stumaxlb --> ldumaxlb.  */
+    case 1102: value = 1045; break;    /* stumaxlh --> ldumaxlh.  */
+    case 1103: value = 1048; break;    /* stumaxl --> ldumaxl.  */
+    case 1104: value = 1050; break;    /* stuminb --> lduminb.  */
+    case 1105: value = 1051; break;    /* stuminh --> lduminh.  */
+    case 1106: value = 1052; break;    /* stumin --> ldumin.  */
+    case 1107: value = 1054; break;    /* stuminlb --> lduminlb.  */
+    case 1108: value = 1057; break;    /* stuminlh --> lduminlh.  */
+    case 1109: value = 1060; break;    /* stuminl --> lduminl.  */
+    case 1111: value = 1110; break;    /* mov --> movn.  */
+    case 1113: value = 1112; break;    /* mov --> movz.  */
+    case 1126: value = 1125; break;    /* psb --> esb.  */
+    case 1125: value = 1124; break;    /* esb --> sevl.  */
+    case 1124: value = 1123; break;    /* sevl --> sev.  */
+    case 1123: value = 1122; break;    /* sev --> wfi.  */
+    case 1122: value = 1121; break;    /* wfi --> wfe.  */
+    case 1121: value = 1120; break;    /* wfe --> yield.  */
+    case 1120: value = 1119; break;    /* yield --> nop.  */
+    case 1119: value = 1118; break;    /* nop --> hint.  */
+    case 1135: value = 1134; break;    /* tlbi --> ic.  */
+    case 1134: value = 1133; break;    /* ic --> dc.  */
+    case 1133: value = 1132; break;    /* dc --> at.  */
+    case 1132: value = 1131; break;    /* at --> sys.  */
     default: return NULL;
     }
 
@@ -9307,6 +10516,8 @@ aarch64_extract_operand (const aarch64_operand *self,
       return aarch64_ext_barrier (self, info, code, inst);
     case 87:
       return aarch64_ext_prfop (self, info, code, inst);
+    case 88:
+      return aarch64_ext_hint (self, info, code, inst);
     default: assert (0); abort ();
     }
 }
This page took 0.209309 seconds and 4 git commands to generate.