[binutils-gdb] Add generated source files and fix thinko in aarch64-asm.c

Nick Clifton nickc@sourceware.org
Mon Jan 15 11:46:22 GMT 2024


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2db11bdf849f72c1172f23c07b0a3c0dc8a53f8a

commit 2db11bdf849f72c1172f23c07b0a3c0dc8a53f8a
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jan 15 11:45:28 2024 +0000

    Add generated source files and fix thinko in aarch64-asm.c

Diff:
---
 opcodes/aarch64-asm-2.c |  136 +++--
 opcodes/aarch64-asm.c   |    2 +-
 opcodes/aarch64-dis-2.c | 1473 +++++++++++++++++++++++++++++++----------------
 opcodes/aarch64-opc-2.c |   13 +
 4 files changed, 1058 insertions(+), 566 deletions(-)

diff --git a/opcodes/aarch64-asm-2.c b/opcodes/aarch64-asm-2.c
index 6d5aebbaa42..2b7afd2f440 100644
--- a/opcodes/aarch64-asm-2.c
+++ b/opcodes/aarch64-asm-2.c
@@ -670,26 +670,26 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 204:
     case 205:
     case 206:
-    case 207:
-    case 208:
-    case 209:
-    case 210:
-    case 211:
+    case 215:
+    case 216:
+    case 217:
     case 218:
-    case 221:
-    case 225:
-    case 232:
-    case 233:
-    case 240:
-    case 241:
+    case 219:
+    case 227:
+    case 231:
+    case 235:
     case 242:
     case 243:
+    case 250:
+    case 251:
+    case 252:
+    case 253:
       return aarch64_ins_regno (self, info, code, inst, errors);
     case 6:
     case 113:
     case 114:
-    case 275:
-    case 277:
+    case 285:
+    case 287:
       return aarch64_ins_none (self, info, code, inst, errors);
     case 17:
       return aarch64_ins_reg_extended (self, info, code, inst, errors);
@@ -701,7 +701,7 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 35:
     case 36:
     case 37:
-    case 279:
+    case 289:
       return aarch64_ins_reglane (self, info, code, inst, errors);
     case 38:
       return aarch64_ins_reglist (self, info, code, inst, errors);
@@ -747,13 +747,13 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 200:
     case 201:
     case 202:
-    case 246:
-    case 273:
-    case 274:
-    case 276:
-    case 278:
+    case 256:
     case 283:
     case 284:
+    case 286:
+    case 288:
+    case 293:
+    case 294:
       return aarch64_ins_imm (self, info, code, inst, errors);
     case 46:
     case 47:
@@ -901,74 +901,90 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 192:
     case 193:
     case 194:
-    case 259:
+    case 269:
       return aarch64_ins_sve_shrimm (self, info, code, inst, errors);
+    case 207:
+    case 208:
+    case 209:
+    case 210:
+      return aarch64_ins_sme_za_vrs1 (self, info, code, inst, errors);
+    case 211:
     case 212:
     case 213:
     case 214:
-    case 215:
-    case 216:
-    case 217:
-      return aarch64_ins_sve_quad_index (self, info, code, inst, errors);
-    case 219:
-      return aarch64_ins_sve_index (self, info, code, inst, errors);
+      return aarch64_ins_sme_za_vrs2 (self, info, code, inst, errors);
     case 220:
+    case 221:
     case 222:
-    case 239:
-      return aarch64_ins_sve_reglist (self, info, code, inst, errors);
     case 223:
     case 224:
+    case 225:
     case 226:
-    case 227:
+      return aarch64_ins_sve_quad_index (self, info, code, inst, errors);
     case 228:
+      return aarch64_ins_sve_index_imm (self, info, code, inst, errors);
     case 229:
-    case 238:
-      return aarch64_ins_sve_aligned_reglist (self, info, code, inst, errors);
+      return aarch64_ins_sve_index (self, info, code, inst, errors);
     case 230:
-    case 231:
-      return aarch64_ins_sve_strided_reglist (self, info, code, inst, errors);
+    case 232:
+    case 249:
+    case 295:
+    case 296:
+    case 297:
+      return aarch64_ins_sve_reglist (self, info, code, inst, errors);
+    case 233:
     case 234:
     case 236:
-    case 247:
-      return aarch64_ins_sme_za_hv_tiles (self, info, code, inst, errors);
-    case 235:
     case 237:
-      return aarch64_ins_sme_za_hv_tiles_range (self, info, code, inst, errors);
+    case 238:
+    case 239:
+    case 248:
+      return aarch64_ins_sve_aligned_reglist (self, info, code, inst, errors);
+    case 240:
+    case 241:
+      return aarch64_ins_sve_strided_reglist (self, info, code, inst, errors);
     case 244:
+    case 246:
+    case 257:
+      return aarch64_ins_sme_za_hv_tiles (self, info, code, inst, errors);
     case 245:
+    case 247:
+      return aarch64_ins_sme_za_hv_tiles_range (self, info, code, inst, errors);
+    case 254:
+    case 255:
+    case 270:
+    case 271:
+    case 272:
+    case 273:
+    case 274:
+    case 275:
+    case 276:
+    case 277:
+    case 278:
+    case 279:
+    case 280:
+    case 281:
+    case 282:
+      return aarch64_ins_simple_index (self, info, code, inst, errors);
+    case 258:
+    case 259:
     case 260:
     case 261:
     case 262:
     case 263:
     case 264:
-    case 265:
-    case 266:
-    case 267:
-    case 268:
-    case 269:
-    case 270:
-    case 271:
-    case 272:
-      return aarch64_ins_simple_index (self, info, code, inst, errors);
-    case 248:
-    case 249:
-    case 250:
-    case 251:
-    case 252:
-    case 253:
-    case 254:
       return aarch64_ins_sme_za_array (self, info, code, inst, errors);
-    case 255:
+    case 265:
       return aarch64_ins_sme_addr_ri_u4xvl (self, info, code, inst, errors);
-    case 256:
+    case 266:
       return aarch64_ins_sme_sm_za (self, info, code, inst, errors);
-    case 257:
+    case 267:
       return aarch64_ins_sme_pred_reg_with_index (self, info, code, inst, errors);
-    case 258:
+    case 268:
       return aarch64_ins_plain_shrimm (self, info, code, inst, errors);
-    case 280:
-    case 281:
-    case 282:
+    case 290:
+    case 291:
+    case 292:
       return aarch64_ins_x0_to_x30 (self, info, code, inst, errors);
     default: assert (0); abort ();
     }
diff --git a/opcodes/aarch64-asm.c b/opcodes/aarch64-asm.c
index 0de09f0435a..4d0b13e4c5a 100644
--- a/opcodes/aarch64-asm.c
+++ b/opcodes/aarch64-asm.c
@@ -1999,7 +1999,7 @@ do_special_encoding (struct aarch64_inst *inst)
 
   if ((inst->opcode->flags & F_OPD_SIZE) && inst->opcode->iclass == sve2_urqvs)
     {
-      enum aarch64_opnd_qualifier qualifier[1];
+      enum aarch64_opnd_qualifier qualifier[2];
       aarch64_insn value1 = 0;
       idx = 0;
       qualifier[0] = inst->operands[idx].qualifier;
diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c
index cfaecb5c162..31c7f66f9b4 100644
--- a/opcodes/aarch64-dis-2.c
+++ b/opcodes/aarch64-dis-2.c
@@ -252,11 +252,55 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x1000000xx0x011xxxxx00xxxxxxxxxx
-                                                         mov.  */
-                                                      return 2655;
+                                                      if (((word >> 9) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             x1000000xx0x011xxxxx000xxxxxxxxx
+                                                             mov.  */
+                                                          return 2655;
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 22) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     x1000000000x011xxxxx001xxxxxxxxx
+                                                                     movaz.  */
+                                                                  return 3283;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     x1000000100x011xxxxx001xxxxxxxxx
+                                                                     movaz.  */
+                                                                  return 3285;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     x1000000010x011xxxxx001xxxxxxxxx
+                                                                     movaz.  */
+                                                                  return 3284;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     x1000000110x011xxxxx001xxxxxxxxx
+                                                                     movaz.  */
+                                                                  return 3286;
+                                                                }
+                                                            }
+                                                        }
                                                     }
                                                 }
                                               else
@@ -346,11 +390,55 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x1000000xx0xx11xxxxx01xxxxxxxxxx
-                                                     mov.  */
-                                                  return 2656;
+                                                  if (((word >> 9) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         x1000000xx0xx11xxxxx010xxxxxxxxx
+                                                         mov.  */
+                                                      return 2656;
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 23) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 x1000000000xx11xxxxx011xxxxxxxxx
+                                                                 movaz.  */
+                                                              return 3279;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 x1000000100xx11xxxxx011xxxxxxxxx
+                                                                 movaz.  */
+                                                              return 3281;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 23) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 x1000000010xx11xxxxx011xxxxxxxxx
+                                                                 movaz.  */
+                                                              return 3280;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 x1000000110xx11xxxxx011xxxxxxxxx
+                                                                 movaz.  */
+                                                              return 3282;
+                                                            }
+                                                        }
+                                                    }
                                                 }
                                             }
                                           else
@@ -13332,55 +13420,143 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             {
                                               if (((word >> 17) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 19) & 0x1) == 0)
+                                                  if (((word >> 18) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 20) & 0x1) == 0)
+                                                      if (((word >> 19) & 0x1) == 0)
                                                         {
-                                                          if (((word >> 16) & 0x1) == 0)
+                                                          if (((word >> 20) & 0x1) == 0)
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 000001x0xx000x00001xxxxxxxxxxxxx
-                                                                 saddv.  */
-                                                              return 1855;
+                                                              if (((word >> 16) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx000000001xxxxxxxxxxxxx
+                                                                     saddv.  */
+                                                                  return 1855;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx000001001xxxxxxxxxxxxx
+                                                                     uaddv.  */
+                                                                  return 2008;
+                                                                }
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0xx000x01001xxxxxxxxxxxxx
-                                                                 uaddv.  */
-                                                              return 2008;
+                                                                 000001x0xx01000x001xxxxxxxxxxxxx
+                                                                 movprfx.  */
+                                                              return 1789;
                                                             }
                                                         }
                                                       else
                                                         {
-                                                          /* 33222222222211111111110000000000
-                                                             10987654321098765432109876543210
-                                                             000001x0xx010x0x001xxxxxxxxxxxxx
-                                                             movprfx.  */
-                                                          return 1789;
+                                                          if (((word >> 16) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx001000001xxxxxxxxxxxxx
+                                                                     smaxv.  */
+                                                                  return 1873;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx011000001xxxxxxxxxxxxx
+                                                                     orv.  */
+                                                                  return 1806;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx001001001xxxxxxxxxxxxx
+                                                                     umaxv.  */
+                                                                  return 2023;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx011001001xxxxxxxxxxxxx
+                                                                     eorv.  */
+                                                                  return 1420;
+                                                                }
+                                                            }
                                                         }
                                                     }
                                                   else
                                                     {
                                                       if (((word >> 16) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x0xx0xx100001xxxxxxxxxxxxx
+                                                             smaxqv.  */
+                                                          return 3289;
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 19) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 000001x0xx0x0101001xxxxxxxxxxxxx
+                                                                 addqv.  */
+                                                              return 3287;
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 20) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx001101001xxxxxxxxxxxxx
+                                                                     umaxqv.  */
+                                                                  return 3291;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     000001x0xx011101001xxxxxxxxxxxxx
+                                                                     eorqv.  */
+                                                                  return 3293;
+                                                                }
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 16) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 18) & 0x1) == 0)
                                                         {
                                                           if (((word >> 20) & 0x1) == 0)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0xx001x00001xxxxxxxxxxxxx
-                                                                 smaxv.  */
-                                                              return 1873;
+                                                                 000001x0xx00x010001xxxxxxxxxxxxx
+                                                                 sminv.  */
+                                                              return 1876;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0xx011x00001xxxxxxxxxxxxx
-                                                                 orv.  */
-                                                              return 1806;
+                                                                 000001x0xx01x010001xxxxxxxxxxxxx
+                                                                 andv.  */
+                                                              return 1333;
                                                             }
                                                         }
                                                       else
@@ -13389,50 +13565,39 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0xx001x01001xxxxxxxxxxxxx
-                                                                 umaxv.  */
-                                                              return 2023;
+                                                                 000001x0xx00x110001xxxxxxxxxxxxx
+                                                                 sminqv.  */
+                                                              return 3290;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 000001x0xx011x01001xxxxxxxxxxxxx
-                                                                 eorv.  */
-                                                              return 1420;
+                                                                 000001x0xx01x110001xxxxxxxxxxxxx
+                                                                 andqv.  */
+                                                              return 3288;
                                                             }
                                                         }
                                                     }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 16) & 0x1) == 0)
+                                                  else
                                                     {
-                                                      if (((word >> 20) & 0x1) == 0)
+                                                      if (((word >> 18) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             000001x0xx00xx10001xxxxxxxxxxxxx
-                                                             sminv.  */
-                                                          return 1876;
+                                                             000001x0xx0xx011001xxxxxxxxxxxxx
+                                                             uminv.  */
+                                                          return 2026;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             000001x0xx01xx10001xxxxxxxxxxxxx
-                                                             andv.  */
-                                                          return 1333;
+                                                             000001x0xx0xx111001xxxxxxxxxxxxx
+                                                             uminqv.  */
+                                                          return 3292;
                                                         }
                                                     }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         000001x0xx0xxx11001xxxxxxxxxxxxx
-                                                         uminv.  */
-                                                      return 2026;
-                                                    }
                                                 }
                                             }
                                           else
@@ -14168,21 +14333,32 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             }
                                           else
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     110001x00x0xxxxx101xxxxxxxxxxxxx
-                                                     ldff1sb.  */
-                                                  return 1712;
+                                                     110001x0x00xxxxx101xxxxxxxxxxxxx
+                                                     ld1q.  */
+                                                  return 3301;
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     110001x01x0xxxxx101xxxxxxxxxxxxx
-                                                     ldff1sh.  */
-                                                  return 1723;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0010xxxxx101xxxxxxxxxxxxx
+                                                         ldff1sb.  */
+                                                      return 1712;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0110xxxxx101xxxxxxxxxxxxx
+                                                         ldff1sh.  */
+                                                      return 1723;
+                                                    }
                                                 }
                                             }
                                         }
@@ -15632,31 +15808,64 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       if (((word >> 13) & 0x1) == 0)
                                         {
-                                          if (((word >> 22) & 0x1) == 0)
+                                          if (((word >> 14) & 0x1) == 0)
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 111001x0x00xxxxx0x0xxxxxxxxxxxxx
-                                                 st1b.  */
-                                              return 1911;
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     111001x0x00xxxxx000xxxxxxxxxxxxx
+                                                     st3q.  */
+                                                  return 3310;
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0010xxxxx000xxxxxxxxxxxxx
+                                                         st2q.  */
+                                                      return 3309;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0110xxxxx000xxxxxxxxxxxxx
+                                                         st4q.  */
+                                                      return 3311;
+                                                    }
+                                                }
                                             }
                                           else
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
                                                   /* 33222222222211111111110000000000
                                                      10987654321098765432109876543210
-                                                     111001x0010xxxxx0x0xxxxxxxxxxxxx
+                                                     111001x0x00xxxxx010xxxxxxxxxxxxx
                                                      st1b.  */
-                                                  return 1915;
+                                                  return 1911;
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     111001x0110xxxxx0x0xxxxxxxxxxxxx
-                                                     st1h.  */
-                                                  return 1936;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0010xxxxx010xxxxxxxxxxxxx
+                                                         st1b.  */
+                                                      return 1915;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0110xxxxx010xxxxxxxxxxxxx
+                                                         st1h.  */
+                                                      return 1936;
+                                                    }
                                                 }
                                             }
                                         }
@@ -16058,99 +16267,154 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         }
                                       else
                                         {
-                                          if (((word >> 22) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  if (((word >> 31) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         011001x0000xxxxx101xxxxxxxxxxxxx
-                                                         fcvtxnt.  */
-                                                      return 2121;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         111001x0000xxxxx101xxxxxxxxxxxxx
-                                                         st1b.  */
-                                                      return 1913;
-                                                    }
-                                                }
-                                              else
+                                              if (((word >> 16) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 31) & 0x1) == 0)
+                                                  if (((word >> 17) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 16) & 0x1) == 0)
+                                                      if (((word >> 18) & 0x1) == 0)
                                                         {
-                                                          if (((word >> 17) & 0x1) == 0)
+                                                          if (((word >> 19) & 0x1) == 0)
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 011001x0100xxx00101xxxxxxxxxxxxx
-                                                                 fcvtnt.  */
-                                                              return 2118;
+                                                                 011001x0xx0x0000101xxxxxxxxxxxxx
+                                                                 faddqv.  */
+                                                              return 3294;
                                                             }
                                                           else
                                                             {
                                                               /* 33222222222211111111110000000000
                                                                  10987654321098765432109876543210
-                                                                 011001x0100xxx10101xxxxxxxxxxxxx
-                                                                 bfcvtnt.  */
-                                                              return 3050;
+                                                                 011001x0xx0x1000101xxxxxxxxxxxxx
+                                                                 fcvtnt.  */
+                                                              return 2118;
                                                             }
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             011001x0100xxxx1101xxxxxxxxxxxxx
-                                                             fcvtlt.  */
-                                                          return 2116;
+                                                             011001x0xx0xx100101xxxxxxxxxxxxx
+                                                             fmaxnmqv.  */
+                                                          return 3295;
                                                         }
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         111001x0100xxxxx101xxxxxxxxxxxxx
-                                                         st1h.  */
-                                                      return 1932;
+                                                      if (((word >> 18) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 22) & 0x1) == 0)
+                                                            {
+                                                              if (((word >> 23) & 0x1) == 0)
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x0000xx010101xxxxxxxxxxxxx
+                                                                     fcvtxnt.  */
+                                                                  return 2121;
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     011001x0100xx010101xxxxxxxxxxxxx
+                                                                     bfcvtnt.  */
+                                                                  return 3050;
+                                                                }
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x0x10xx010101xxxxxxxxxxxxx
+                                                                 fcvtnt.  */
+                                                              return 2119;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x0xx0xx110101xxxxxxxxxxxxx
+                                                             fmaxqv.  */
+                                                          return 3296;
+                                                        }
                                                     }
                                                 }
-                                            }
-                                          else
-                                            {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x11001x0010xxxxx101xxxxxxxxxxxxx
-                                                     st1b.  */
-                                                  return 1920;
-                                                }
                                               else
                                                 {
-                                                  if (((word >> 31) & 0x1) == 0)
+                                                  if (((word >> 17) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 16) & 0x1) == 0)
+                                                      if (((word >> 18) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             011001x0110xxxx0101xxxxxxxxxxxxx
-                                                             fcvtnt.  */
-                                                          return 2119;
+                                                             011001x0xx0xx001101xxxxxxxxxxxxx
+                                                             fcvtlt.  */
+                                                          return 2116;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             011001x0110xxxx1101xxxxxxxxxxxxx
+                                                             011001x0xx0xx101101xxxxxxxxxxxxx
+                                                             fminnmqv.  */
+                                                          return 3297;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      if (((word >> 18) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x0xx0xx011101xxxxxxxxxxxxx
                                                              fcvtlt.  */
                                                           return 2117;
                                                         }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x0xx0xx111101xxxxxxxxxxxxx
+                                                             fminqv.  */
+                                                          return 3298;
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                          else
+                                            {
+                                              if (((word >> 22) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0000xxxxx101xxxxxxxxxxxxx
+                                                         st1b.  */
+                                                      return 1913;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0100xxxxx101xxxxxxxxxxxxx
+                                                         st1h.  */
+                                                      return 1932;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0010xxxxx101xxxxxxxxxxxxx
+                                                         st1b.  */
+                                                      return 1920;
                                                     }
                                                   else
                                                     {
@@ -16189,43 +16453,54 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             }
                                           else
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 20) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 22) & 0x1) == 0)
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x0000xxxxx111xxxxxxxxxxxxx
-                                                         ldnt1b.  */
-                                                      return 1763;
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x00000xxxx111xxxxxxxxxxxxx
+                                                             ldnt1b.  */
+                                                          return 1763;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x01000xxxx111xxxxxxxxxxxxx
+                                                             ldnt1h.  */
+                                                          return 1767;
+                                                        }
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x0100xxxxx111xxxxxxxxxxxxx
-                                                         ldnt1h.  */
-                                                      return 1767;
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x00100xxxx111xxxxxxxxxxxxx
+                                                             ld3b.  */
+                                                          return 1655;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x01100xxxx111xxxxxxxxxxxxx
+                                                             ld3h.  */
+                                                          return 1659;
+                                                        }
                                                     }
                                                 }
                                               else
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x0010xxxxx111xxxxxxxxxxxxx
-                                                         ld3b.  */
-                                                      return 1655;
-                                                    }
-                                                  else
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x0110xxxxx111xxxxxxxxxxxxx
-                                                         ld3h.  */
-                                                      return 1659;
-                                                    }
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     101001x0xx01xxxx111xxxxxxxxxxxxx
+                                                     ld2q.  */
+                                                  return 3302;
                                                 }
                                             }
                                         }
@@ -16446,86 +16721,141 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       if (((word >> 14) & 0x1) == 0)
                                         {
-                                          if (((word >> 12) & 0x1) == 0)
+                                          if (((word >> 23) & 0x1) == 0)
                                             {
-                                              if (((word >> 10) & 0x1) == 0)
+                                              if (((word >> 31) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x11001x00x1xxxxx0000x0xxxxxxxxxx
-                                                         fmla.  */
-                                                      return 1485;
-                                                    }
-                                                  else
+                                                  if (((word >> 10) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 22) & 0x1) == 0)
+                                                      if (((word >> 11) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             x11001x0101xxxxx0000x0xxxxxxxxxx
+                                                             011001x00x1xxxxx000x00xxxxxxxxxx
                                                              fmla.  */
-                                                          return 1486;
+                                                          return 1485;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             x11001x0111xxxxx0000x0xxxxxxxxxx
-                                                             fmla.  */
-                                                          return 1487;
+                                                             011001x00x1xxxxx000x10xxxxxxxxxx
+                                                             bfmla.  */
+                                                          return 3276;
                                                         }
                                                     }
-                                                }
-                                              else
-                                                {
-                                                  if (((word >> 23) & 0x1) == 0)
-                                                    {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x11001x00x1xxxxx0000x1xxxxxxxxxx
-                                                         fmls.  */
-                                                      return 1489;
-                                                    }
                                                   else
                                                     {
-                                                      if (((word >> 22) & 0x1) == 0)
+                                                      if (((word >> 11) & 0x1) == 0)
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             x11001x0101xxxxx0000x1xxxxxxxxxx
+                                                             011001x00x1xxxxx000x01xxxxxxxxxx
                                                              fmls.  */
-                                                          return 1490;
+                                                          return 1489;
                                                         }
                                                       else
                                                         {
                                                           /* 33222222222211111111110000000000
                                                              10987654321098765432109876543210
-                                                             x11001x0111xxxxx0000x1xxxxxxxxxx
-                                                             fmls.  */
-                                                          return 1491;
+                                                             011001x00x1xxxxx000x11xxxxxxxxxx
+                                                             bfmls.  */
+                                                          return 3277;
                                                         }
                                                     }
                                                 }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     111001x00x1xxxxx000xxxxxxxxxxxxx
+                                                     st2q.  */
+                                                  return 3312;
+                                                }
                                             }
                                           else
                                             {
                                               if (((word >> 22) & 0x1) == 0)
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x11001x0x01xxxxx0001xxxxxxxxxxxx
-                                                     fcmla.  */
-                                                  return 1433;
+                                                  if (((word >> 31) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 10) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x0101xxxxx0000x0xxxxxxxxxx
+                                                                 fmla.  */
+                                                              return 1486;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x0101xxxxx0000x1xxxxxxxxxx
+                                                                 fmls.  */
+                                                              return 1490;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x0101xxxxx0001xxxxxxxxxxxx
+                                                             fcmla.  */
+                                                          return 1433;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0101xxxxx000xxxxxxxxxxxxx
+                                                         st3q.  */
+                                                      return 3313;
+                                                    }
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x11001x0x11xxxxx0001xxxxxxxxxxxx
-                                                     fcmla.  */
-                                                  return 1434;
+                                                  if (((word >> 31) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 12) & 0x1) == 0)
+                                                        {
+                                                          if (((word >> 10) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x0111xxxxx0000x0xxxxxxxxxx
+                                                                 fmla.  */
+                                                              return 1487;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x0111xxxxx0000x1xxxxxxxxxx
+                                                                 fmls.  */
+                                                              return 1491;
+                                                            }
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x0111xxxxx0001xxxxxxxxxxxx
+                                                             fcmla.  */
+                                                          return 1434;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         111001x0111xxxxx000xxxxxxxxxxxxx
+                                                         st4q.  */
+                                                      return 3314;
+                                                    }
                                                 }
                                             }
                                         }
@@ -16949,43 +17279,65 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       if (((word >> 15) & 0x1) == 0)
                                         {
-                                          if (((word >> 10) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x11001x00x1xxxxx001xx0xxxxxxxxxx
-                                                     fmul.  */
-                                                  return 1496;
-                                                }
-                                              else
+                                              if (((word >> 10) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 22) & 0x1) == 0)
+                                                  if (((word >> 11) & 0x1) == 0)
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x11001x0101xxxxx001xx0xxxxxxxxxx
-                                                         fmul.  */
-                                                      return 1497;
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             011001x00x1xxxxx001x00xxxxxxxxxx
+                                                             fmul.  */
+                                                          return 1496;
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 22) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x0101xxxxx001x00xxxxxxxxxx
+                                                                 fmul.  */
+                                                              return 1497;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 011001x0111xxxxx001x00xxxxxxxxxx
+                                                                 fmul.  */
+                                                              return 1498;
+                                                            }
+                                                        }
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         x11001x0111xxxxx001xx0xxxxxxxxxx
-                                                         fmul.  */
-                                                      return 1498;
+                                                         011001x0xx1xxxxx001x10xxxxxxxxxx
+                                                         bfmul.  */
+                                                      return 3278;
                                                     }
                                                 }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     011001x0xx1xxxxx001xx1xxxxxxxxxx
+                                                     fclamp.  */
+                                                  return 2456;
+                                                }
                                             }
                                           else
                                             {
                                               /* 33222222222211111111110000000000
                                                  10987654321098765432109876543210
-                                                 x11001x0xx1xxxxx001xx1xxxxxxxxxx
-                                                 fclamp.  */
-                                              return 2456;
+                                                 111001x0xx1xxxxx001xxxxxxxxxxxxx
+                                                 st1q.  */
+                                              return 3308;
                                             }
                                         }
                                       else
@@ -17723,11 +18075,33 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     000001x1xx1xxxxx001xx1xxxxxxxxxx
-                                                     tbx.  */
-                                                  return 2299;
+                                                  if (((word >> 11) & 0x1) == 0)
+                                                    {
+                                                      if (((word >> 22) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x1x01xxxxx001x01xxxxxxxxxx
+                                                             dupq.  */
+                                                          return 3299;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             000001x1x11xxxxx001x01xxxxxxxxxx
+                                                             extq.  */
+                                                          return 3300;
+                                                        }
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         000001x1xx1xxxxx001x11xxxxxxxxxx
+                                                         tbx.  */
+                                                      return 2299;
+                                                    }
                                                 }
                                             }
                                           else
@@ -21587,23 +21961,45 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                             }
                                           else
                                             {
-                                              if (((word >> 22) & 0x1) == 0)
+                                              if (((word >> 20) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 23) & 0x1) == 0)
+                                                  if (((word >> 22) & 0x1) == 0)
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x1000xxxxx111xxxxxxxxxxxxx
-                                                         ldnt1w.  */
-                                                      return 1769;
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x10000xxxx111xxxxxxxxxxxxx
+                                                             ldnt1w.  */
+                                                          return 1769;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x11000xxxx111xxxxxxxxxxxxx
+                                                             ldnt1d.  */
+                                                          return 1765;
+                                                        }
                                                     }
                                                   else
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         101001x1100xxxxx111xxxxxxxxxxxxx
-                                                         ldnt1d.  */
-                                                      return 1765;
+                                                      if (((word >> 23) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x10100xxxx111xxxxxxxxxxxxx
+                                                             ld3w.  */
+                                                          return 1661;
+                                                        }
+                                                      else
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             101001x11100xxxx111xxxxxxxxxxxxx
+                                                             ld3d.  */
+                                                          return 1657;
+                                                        }
                                                     }
                                                 }
                                               else
@@ -21612,17 +22008,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x1010xxxxx111xxxxxxxxxxxxx
-                                                         ld3w.  */
-                                                      return 1661;
+                                                         101001x10x01xxxx111xxxxxxxxxxxxx
+                                                         ld3q.  */
+                                                      return 3303;
                                                     }
                                                   else
                                                     {
                                                       /* 33222222222211111111110000000000
                                                          10987654321098765432109876543210
-                                                         101001x1110xxxxx111xxxxxxxxxxxxx
-                                                         ld3d.  */
-                                                      return 1657;
+                                                         101001x11x01xxxx111xxxxxxxxxxxxx
+                                                         ld4q.  */
+                                                      return 3304;
                                                     }
                                                 }
                                             }
@@ -22546,127 +22942,94 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                 {
                                   if (((word >> 14) & 0x1) == 0)
                                     {
-                                      if (((word >> 20) & 0x1) == 0)
+                                      if (((word >> 31) & 0x1) == 0)
                                         {
-                                          if (((word >> 31) & 0x1) == 0)
+                                          if (((word >> 9) & 0x1) == 0)
                                             {
-                                              if (((word >> 9) & 0x1) == 0)
+                                              if (((word >> 16) & 0x1) == 0)
                                                 {
-                                                  if (((word >> 16) & 0x1) == 0)
+                                                  if (((word >> 17) & 0x1) == 0)
                                                     {
-                                                      if (((word >> 17) & 0x1) == 0)
+                                                      if (((word >> 18) & 0x1) == 0)
                                                         {
-                                                          if (((word >> 18) & 0x1) == 0)
+                                                          if (((word >> 19) & 0x1) == 0)
                                                             {
-                                                              if (((word >> 19) & 0x1) == 0)
-                                                                {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     001001x1xx10000010xxxx0xxxxxxxxx
-                                                                     cntp.  */
-                                                                  return 1394;
-                                                                }
-                                                              else
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 001001x1xx1x000010xxxx0xxxxxxxxx
+                                                                 cntp.  */
+                                                              return 1394;
+                                                            }
+                                                          else
+                                                            {
+                                                              if (((word >> 10) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 10) & 0x1) == 0)
+                                                                  if (((word >> 11) & 0x1) == 0)
                                                                     {
-                                                                      if (((word >> 11) & 0x1) == 0)
+                                                                      if (((word >> 12) & 0x1) == 0)
                                                                         {
-                                                                          if (((word >> 12) & 0x1) == 0)
-                                                                            {
-                                                                              /* 33222222222211111111110000000000
-                                                                                 10987654321098765432109876543210
-                                                                                 001001x1xx10100010x0000xxxxxxxxx
-                                                                                 sqincp.  */
-                                                                              return 1903;
-                                                                            }
-                                                                          else
-                                                                            {
-                                                                              /* 33222222222211111111110000000000
-                                                                                 10987654321098765432109876543210
-                                                                                 001001x1xx10100010x1000xxxxxxxxx
-                                                                                 wrffr.  */
-                                                                              return 2077;
-                                                                            }
+                                                                          /* 33222222222211111111110000000000
+                                                                             10987654321098765432109876543210
+                                                                             001001x1xx1x100010x0000xxxxxxxxx
+                                                                             sqincp.  */
+                                                                          return 1903;
                                                                         }
                                                                       else
                                                                         {
                                                                           /* 33222222222211111111110000000000
                                                                              10987654321098765432109876543210
-                                                                             001001x1xx10100010xx100xxxxxxxxx
-                                                                             sqincp.  */
-                                                                          return 1905;
+                                                                             001001x1xx1x100010x1000xxxxxxxxx
+                                                                             wrffr.  */
+                                                                          return 2077;
                                                                         }
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         001001x1xx10100010xxx10xxxxxxxxx
+                                                                         001001x1xx1x100010xx100xxxxxxxxx
                                                                          sqincp.  */
-                                                                      return 1904;
-                                                                    }
-                                                                }
-                                                            }
-                                                          else
-                                                            {
-                                                              if (((word >> 11) & 0x1) == 0)
-                                                                {
-                                                                  if (((word >> 12) & 0x1) == 0)
-                                                                    {
-                   [...]

[diff truncated at 100000 bytes]


More information about the Binutils-cvs mailing list