]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
aarch64: Add support for sve2p1 tblq instruction.
authorSrinath Parvathaneni <srinath.parvathaneni@arm.com>
Mon, 8 Jul 2024 16:44:24 +0000 (17:44 +0100)
committerSrinath Parvathaneni <srinath.parvathaneni@arm.com>
Mon, 8 Jul 2024 16:45:54 +0000 (17:45 +0100)
This patch adds support for SVE2p1 "tblq" instruction, spec is available here [1].
[1]: https://developer.arm.com/documentation/ddi0602/2024-03/SVE-Instructions?lang=en

gas/testsuite/gas/aarch64/sve2p1-6-invalid.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2p1-6-invalid.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2p1-6-invalid.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2p1-6.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2p1-6.s [new file with mode: 0644]
opcodes/aarch64-dis-2.c
opcodes/aarch64-tbl.h

diff --git a/gas/testsuite/gas/aarch64/sve2p1-6-invalid.d b/gas/testsuite/gas/aarch64/sve2p1-6-invalid.d
new file mode 100644 (file)
index 0000000..1aa2b39
--- /dev/null
@@ -0,0 +1,3 @@
+#name: Test of illegal SVE2.1 TBLQ instruction.
+#as: -march=armv9.4-a
+#error_output: sve2p1-6-invalid.l
diff --git a/gas/testsuite/gas/aarch64/sve2p1-6-invalid.l b/gas/testsuite/gas/aarch64/sve2p1-6-invalid.l
new file mode 100644 (file)
index 0000000..0fea325
--- /dev/null
@@ -0,0 +1,18 @@
+.*: Assembler messages:
+.*: Error: operand mismatch -- `tblq z0.s,{z0.b},z0.b'
+.*: Info:    did you mean this\?
+.*: Info:      tblq z0.b, {z0.b}, z0.b
+.*: Info:    other valid variant\(s\):
+.*: Info:      tblq z0.h, {z0.h}, z0.h
+.*: Info:      tblq z0.s, {z0.s}, z0.s
+.*: Info:      tblq z0.d, {z0.d}, z0.d
+.*: Error: expected a single-register list at operand 2 -- `tblq z0.s,{z0.s,z1.s},z0.s'
+.*: Error: expected a single-register list at operand 2 -- `tblq z0.s,{z0.s-z1.s},z0.s'
+.*: Error: operand mismatch -- `tblq z0.s,{z31.s},z0.b'
+.*: Info:    did you mean this\?
+.*: Info:      tblq z0.s, {z31.s}, z0.s
+.*: Info:    other valid variant\(s\):
+.*: Info:      tblq z0.b, {z31.b}, z0.b
+.*: Info:      tblq z0.h, {z31.h}, z0.h
+.*: Info:      tblq z0.d, {z31.d}, z0.d
+.*: Error: expected an SVE vector register at operand 3 -- `tblq z0.b,{z0.b},{z31.b}'
diff --git a/gas/testsuite/gas/aarch64/sve2p1-6-invalid.s b/gas/testsuite/gas/aarch64/sve2p1-6-invalid.s
new file mode 100644 (file)
index 0000000..0f8300e
--- /dev/null
@@ -0,0 +1,6 @@
+tblq z0.s, {z0.b}, z0.b
+tblq z31.b, z0.b, z0.b
+tblq z0.s, {z0.s, z1.s}, z0.s
+tblq z0.s, {z0.s - z1.s}, z0.s
+tblq z0.s, {z31.s}, z0.b
+tblq z0.b, {z0.b}, {z31.b}
diff --git a/gas/testsuite/gas/aarch64/sve2p1-6.d b/gas/testsuite/gas/aarch64/sve2p1-6.d
new file mode 100644 (file)
index 0000000..d146903
--- /dev/null
@@ -0,0 +1,18 @@
+#name: Test of SVE2.1 TBLQ instruction.
+#as: -march=armv9.4-a
+#objdump: -dr
+
+[^:]+:     file format .*
+
+
+[^:]+:
+
+[^:]+:
+.*:    4400f800        tblq    z0.b, {z0.b}, z0.b
+.*:    4400f81f        tblq    z31.b, {z0.b}, z0.b
+.*:    44c0f800        tblq    z0.d, {z0.d}, z0.d
+.*:    4400fbe0        tblq    z0.b, {z31.b}, z0.b
+.*:    441ff800        tblq    z0.b, {z0.b}, z31.b
+.*:    44dffbff        tblq    z31.d, {z31.d}, z31.d
+.*:    444ff945        tblq    z5.h, {z10.h}, z15.h
+.*:    4487f861        tblq    z1.s, {z3.s}, z7.s
diff --git a/gas/testsuite/gas/aarch64/sve2p1-6.s b/gas/testsuite/gas/aarch64/sve2p1-6.s
new file mode 100644 (file)
index 0000000..d2a0ef5
--- /dev/null
@@ -0,0 +1,8 @@
+tblq z0.b, {z0.b}, z0.b
+tblq z31.b, {z0.b}, z0.b
+tblq z0.d, {z0.d}, z0.d
+tblq z0.b, {z31.b}, z0.b
+tblq z0.b, {z0.b}, z31.b
+tblq z31.d, {z31.d}, z31.d
+tblq z5.h, {z10.h}, z15.h
+tblq z1.s, {z3.s}, z7.s
index 0175dd0127a33aa2965d775226aed5ea780309d2..5fadd4b2b0030adf48946bf5e25777fdc9e5a4f8 100644 (file)
@@ -216,7 +216,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000000x000101x00xxxxxxxxxxxxxx
                                                                  luti4.  */
-                                                              return 3395;
+                                                              return 3396;
                                                             }
                                                           else
                                                             {
@@ -251,7 +251,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1000000xx01101xxxxxxxxxxxxxxxxx
                                                      luti4.  */
-                                                  return 3396;
+                                                  return 3397;
                                                 }
                                             }
                                         }
@@ -375,7 +375,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000000010x11x1xxxx00xxxxxxxxxx
                                                                  movt.  */
-                                                              return 3397;
+                                                              return 3398;
                                                             }
                                                         }
                                                       else
@@ -1157,7 +1157,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx000000101xxxxxxxxxxxxxxxx00xxx
                                                  fmopa.  */
-                                              return 3463;
+                                              return 3464;
                                             }
                                           else
                                             {
@@ -1165,7 +1165,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx000000101xxxxxxxxxxxxxxxx01xxx
                                                  fmopa.  */
-                                              return 3462;
+                                              return 3463;
                                             }
                                         }
                                       else
@@ -1513,7 +1513,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0000010001xxxx1xx0xxxxx1000xxx
                                                                      fmlall.  */
-                                                                  return 3456;
+                                                                  return 3457;
                                                                 }
                                                             }
                                                         }
@@ -1543,7 +1543,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0000010001xxxxxxx1xxxxxx00xxxx
                                                          fdot.  */
-                                                      return 3441;
+                                                      return 3442;
                                                     }
                                                 }
                                               else
@@ -1915,7 +1915,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10000011001xxxxxxx0xxxxxx100xxx
                                                                  fmlall.  */
-                                                              return 3455;
+                                                              return 3456;
                                                             }
                                                         }
                                                     }
@@ -2020,7 +2020,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x10000011001xxxxxxx1xxxxxx10xxxx
                                                              fmlal.  */
-                                                          return 3448;
+                                                          return 3449;
                                                         }
                                                     }
                                                 }
@@ -2193,7 +2193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x10000011001xxxxxxx1xxxxxx11xxxx
                                                              fmlal.  */
-                                                          return 3447;
+                                                          return 3448;
                                                         }
                                                     }
                                                 }
@@ -2235,7 +2235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx0000010100xxxxxxxxxxxxxxxx0xxx
                                                  fmlall.  */
-                                              return 3454;
+                                              return 3455;
                                             }
                                           else
                                             {
@@ -2603,7 +2603,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx0xx0xxxxxx111xxx
                                                              fdot.  */
-                                                          return 3434;
+                                                          return 3435;
                                                         }
                                                       else
                                                         {
@@ -2672,7 +2672,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx1xx0xxxxxx001xxx
                                                              fdot.  */
-                                                          return 3435;
+                                                          return 3436;
                                                         }
                                                       else
                                                         {
@@ -2751,7 +2751,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx0000011100xxxxxxx0xxxxxxx0xxxx
                                                      fmlal.  */
-                                                  return 3446;
+                                                  return 3447;
                                                 }
                                               else
                                                 {
@@ -2806,7 +2806,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx0000011101xxxx0xx01xxxxx00xxxx
                                                                  fvdotb.  */
-                                                              return 3465;
+                                                              return 3466;
                                                             }
                                                           else
                                                             {
@@ -2824,7 +2824,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0000011101xxxxxxx0xxxxxx10xxxx
                                                          fdot.  */
-                                                      return 3440;
+                                                      return 3441;
                                                     }
                                                 }
                                             }
@@ -2898,7 +2898,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0000011101xxxxxxx1xxxxxx10xxxx
                                                          fvdot.  */
-                                                      return 3464;
+                                                      return 3465;
                                                     }
                                                 }
                                             }
@@ -2978,7 +2978,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx000001110xxxxx0xx01xxxxxx1xxxx
                                                          fvdott.  */
-                                                      return 3466;
+                                                      return 3467;
                                                     }
                                                   else
                                                     {
@@ -3155,7 +3155,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x10000011x1xxxx00xx000xxxx10000x
                                                                                  fmlall.  */
-                                                                              return 3460;
+                                                                              return 3461;
                                                                             }
                                                                           else
                                                                             {
@@ -3163,7 +3163,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x10000011x1xxxx10xx000xxxx10000x
                                                                                  fmlall.  */
-                                                                              return 3461;
+                                                                              return 3462;
                                                                             }
                                                                         }
                                                                     }
@@ -3218,7 +3218,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx10xxxx0xx000xxxxx00x1x
                                                                      fmlall.  */
-                                                                  return 3458;
+                                                                  return 3459;
                                                                 }
                                                               else
                                                                 {
@@ -3226,7 +3226,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx11xxxx0xx000xxxxx00x1x
                                                                      fmlall.  */
-                                                                  return 3459;
+                                                                  return 3460;
                                                                 }
                                                             }
                                                         }
@@ -3280,7 +3280,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000011x1xxxx00xx100xxxx100xxx
                                                                          fdot.  */
-                                                                      return 3444;
+                                                                      return 3445;
                                                                     }
                                                                   else
                                                                     {
@@ -3288,7 +3288,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000011x1xxxx10xx100xxxx100xxx
                                                                          fdot.  */
-                                                                      return 3445;
+                                                                      return 3446;
                                                                     }
                                                                 }
                                                             }
@@ -3350,7 +3350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001101xxxx00xx010xxxx1000xx
                                                                                  fmlal.  */
-                                                                              return 3452;
+                                                                              return 3453;
                                                                             }
                                                                           else
                                                                             {
@@ -3358,7 +3358,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001101xxxx10xx010xxxx1000xx
                                                                                  fmlal.  */
-                                                                              return 3453;
+                                                                              return 3454;
                                                                             }
                                                                         }
                                                                     }
@@ -3413,7 +3413,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx10xxxx0xx010xxxxx001xx
                                                                      fmlal.  */
-                                                                  return 3450;
+                                                                  return 3451;
                                                                 }
                                                               else
                                                                 {
@@ -3421,7 +3421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx11xxxx0xx010xxxxx001xx
                                                                      fmlal.  */
-                                                                  return 3451;
+                                                                  return 3452;
                                                                 }
                                                             }
                                                         }
@@ -3490,7 +3490,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx11xxxx0xx001xxxxx000xx
                                                                      fmlall.  */
-                                                                  return 3457;
+                                                                  return 3458;
                                                                 }
                                                             }
                                                           else
@@ -3573,7 +3573,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000001xx11xxxx0xx011xxxxx00xxx
                                                                  fmlal.  */
-                                                              return 3449;
+                                                              return 3450;
                                                             }
                                                         }
                                                       else
@@ -3594,7 +3594,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xx1x00xx111xxxxx00xxx
                                                                      fadd.  */
-                                                                  return 3398;
+                                                                  return 3399;
                                                                 }
                                                             }
                                                           else
@@ -3613,7 +3613,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xx1x10xx111xxxxx00xxx
                                                                      fadd.  */
-                                                                  return 3399;
+                                                                  return 3400;
                                                                 }
                                                             }
                                                         }
@@ -3739,7 +3739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000011x1xxxx00xx100xxxx110xxx
                                                                          fdot.  */
-                                                                      return 3438;
+                                                                      return 3439;
                                                                     }
                                                                   else
                                                                     {
@@ -3747,7 +3747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000011x1xxxx10xx100xxxx110xxx
                                                                          fdot.  */
-                                                                      return 3439;
+                                                                      return 3440;
                                                                     }
                                                                 }
                                                             }
@@ -4038,7 +4038,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000001xx10xxxx0xx100xxxxx01xxx
                                                                  fdot.  */
-                                                              return 3442;
+                                                              return 3443;
                                                             }
                                                           else
                                                             {
@@ -4046,7 +4046,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000001xx11xxxx0xx100xxxxx01xxx
                                                                  fdot.  */
-                                                              return 3443;
+                                                              return 3444;
                                                             }
                                                         }
                                                     }
@@ -4317,7 +4317,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xx1x00xx111xxxxx01xxx
                                                                      fsub.  */
-                                                                  return 3400;
+                                                                  return 3401;
                                                                 }
                                                             }
                                                           else
@@ -4336,7 +4336,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xx1x10xx111xxxxx01xxx
                                                                      fsub.  */
-                                                                  return 3401;
+                                                                  return 3402;
                                                                 }
                                                             }
                                                         }
@@ -4398,7 +4398,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000001xx10xxxx0xx100xxxxx11xxx
                                                                  fdot.  */
-                                                              return 3436;
+                                                              return 3437;
                                                             }
                                                           else
                                                             {
@@ -4406,7 +4406,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000001xx11xxxx0xx100xxxxx11xxx
                                                                  fdot.  */
-                                                              return 3437;
+                                                              return 3438;
                                                             }
                                                         }
                                                     }
@@ -4941,7 +4941,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001xx1xxxxx101000xx1x0xxxx0
                                                                          fscale.  */
-                                                                      return 3372;
+                                                                      return 3373;
                                                                     }
                                                                 }
                                                               else
@@ -5089,7 +5089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x1000001x0100100111000xxxx0xxxxx
                                                                                          fcvt.  */
-                                                                                      return 3369;
+                                                                                      return 3370;
                                                                                     }
                                                                                   else
                                                                                     {
@@ -5097,7 +5097,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x1000001x1100100111000xxxx0xxxxx
                                                                                          bfcvt.  */
-                                                                                      return 3364;
+                                                                                      return 3365;
                                                                                     }
                                                                                 }
                                                                               else
@@ -5106,7 +5106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                      10987654321098765432109876543210
                                                                                      x1000001xx110100111000xxxx0xxxxx
                                                                                      fcvt.  */
-                                                                                  return 3370;
+                                                                                  return 3371;
                                                                                 }
                                                                             }
                                                                           else
@@ -5157,7 +5157,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              x1000001xx1xx100111000xxxx1xxxxx
                                                                              fcvtn.  */
-                                                                          return 3371;
+                                                                          return 3372;
                                                                         }
                                                                     }
                                                                 }
@@ -5240,7 +5240,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x10000010010x110111000xxxxxxxxx0
                                                                                          f1cvt.  */
-                                                                                      return 3365;
+                                                                                      return 3366;
                                                                                     }
                                                                                   else
                                                                                     {
@@ -5248,7 +5248,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x10000011010x110111000xxxxxxxxx0
                                                                                          f2cvt.  */
-                                                                                      return 3366;
+                                                                                      return 3367;
                                                                                     }
                                                                                 }
                                                                               else
@@ -5259,7 +5259,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x10000010110x110111000xxxxxxxxx0
                                                                                          bf1cvt.  */
-                                                                                      return 3360;
+                                                                                      return 3361;
                                                                                     }
                                                                                   else
                                                                                     {
@@ -5267,7 +5267,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x10000011110x110111000xxxxxxxxx0
                                                                                          bf2cvt.  */
-                                                                                      return 3361;
+                                                                                      return 3362;
                                                                                     }
                                                                                 }
                                                                             }
@@ -5302,7 +5302,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001001xxx10111000xxxxxxxxx1
                                                                                  f1cvtl.  */
-                                                                              return 3367;
+                                                                              return 3368;
                                                                             }
                                                                           else
                                                                             {
@@ -5310,7 +5310,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001101xxx10111000xxxxxxxxx1
                                                                                  f2cvtl.  */
-                                                                              return 3368;
+                                                                              return 3369;
                                                                             }
                                                                         }
                                                                       else
@@ -5321,7 +5321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001011xxx10111000xxxxxxxxx1
                                                                                  bf1cvtl.  */
-                                                                              return 3362;
+                                                                              return 3363;
                                                                             }
                                                                           else
                                                                             {
@@ -5329,7 +5329,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001111xxx10111000xxxxxxxxx1
                                                                                  bf2cvtl.  */
-                                                                              return 3363;
+                                                                              return 3364;
                                                                             }
                                                                         }
                                                                     }
@@ -5598,7 +5598,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001xx1xxxxx1x1100xx100xxxx0
                                                                          fscale.  */
-                                                                      return 3374;
+                                                                      return 3375;
                                                                     }
                                                                 }
                                                               else
@@ -5774,7 +5774,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001xx1xxxxx1x1010xx100xxxx0
                                                                          fscale.  */
-                                                                      return 3373;
+                                                                      return 3374;
                                                                     }
                                                                   else
                                                                     {
@@ -5782,7 +5782,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001xx1xxxxx1x1110xx100xxxx0
                                                                          fscale.  */
-                                                                      return 3375;
+                                                                      return 3376;
                                                                     }
                                                                 }
                                                             }
@@ -10950,7 +10950,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x0x11010000xxxxxxx1xxxxxxxxxxxxx
                                              addpt.  */
-                                          return 3376;
+                                          return 3377;
                                         }
                                       else
                                         {
@@ -10958,7 +10958,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x1x11010000xxxxxxx1xxxxxxxxxxxxx
                                              subpt.  */
-                                          return 3377;
+                                          return 3378;
                                         }
                                     }
                                 }
@@ -11876,7 +11876,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxx1011x11xxxxx0xxxxxxxxxxxxxxx
                                  maddpt.  */
-                              return 3378;
+                              return 3379;
                             }
                           else
                             {
@@ -11884,7 +11884,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxx1011x11xxxxx1xxxxxxxxxxxxxxx
                                  msubpt.  */
-                              return 3379;
+                              return 3380;
                             }
                         }
                     }
@@ -11969,7 +11969,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx000100000xxxxxxxxxxxxx
                                                                      addpt.  */
-                                                                  return 3380;
+                                                                  return 3381;
                                                                 }
                                                               else
                                                                 {
@@ -12076,7 +12076,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx000101000xxxxxxxxxxxxx
                                                                      subpt.  */
-                                                                  return 3382;
+                                                                  return 3383;
                                                                 }
                                                               else
                                                                 {
@@ -12281,7 +12281,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000010xxxxxxxxxx
                                                              addpt.  */
-                                                          return 3381;
+                                                          return 3382;
                                                         }
                                                       else
                                                         {
@@ -12322,7 +12322,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000011xxxxxxxxxx
                                                              subpt.  */
-                                                          return 3383;
+                                                          return 3384;
                                                         }
                                                       else
                                                         {
@@ -13980,7 +13980,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x0xx0xxxxx110100xxxxxxxxxx
                                                              mlapt.  */
-                                                          return 3385;
+                                                          return 3386;
                                                         }
                                                     }
                                                   else
@@ -14010,7 +14010,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x0xx0xxxxx110110xxxxxxxxxx
                                                              madpt.  */
-                                                          return 3384;
+                                                          return 3385;
                                                         }
                                                     }
                                                 }
@@ -15164,7 +15164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      110001x0x00xxxxx101xxxxxxxxxxxxx
                                                      ld1q.  */
-                                                  return 3321;
+                                                  return 3322;
                                                 }
                                               else
                                                 {
@@ -16168,42 +16168,53 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                     {
                                       if (((word >> 21) & 0x1) == 0)
                                         {
-                                          if (((word >> 22) & 0x1) == 0)
+                                          if (((word >> 31) & 0x1) == 0)
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x0000xxxxx111xxxxxxxxxxxxx
-                                                     prfb.  */
-                                                  return 1836;
-                                                }
-                                              else
-                                                {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x0100xxxxx111xxxxxxxxxxxxx
-                                                     prfh.  */
-                                                  return 1850;
-                                                }
+                                              /* 33222222222211111111110000000000
+                                                 10987654321098765432109876543210
+                                                 010001x0xx0xxxxx111xxxxxxxxxxxxx
+                                                 tblq.  */
+                                              return 3320;
                                             }
                                           else
                                             {
-                                              if (((word >> 23) & 0x1) == 0)
+                                              if (((word >> 22) & 0x1) == 0)
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x0010xxxxx111xxxxxxxxxxxxx
-                                                     ldff1b.  */
-                                                  return 1699;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0000xxxxx111xxxxxxxxxxxxx
+                                                         prfb.  */
+                                                      return 1836;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0100xxxxx111xxxxxxxxxxxxx
+                                                         prfh.  */
+                                                      return 1850;
+                                                    }
                                                 }
                                               else
                                                 {
-                                                  /* 33222222222211111111110000000000
-                                                     10987654321098765432109876543210
-                                                     x10001x0110xxxxx111xxxxxxxxxxxxx
-                                                     ldff1h.  */
-                                                  return 1719;
+                                                  if (((word >> 23) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0010xxxxx111xxxxxxxxxxxxx
+                                                         ldff1b.  */
+                                                      return 1699;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         110001x0110xxxxx111xxxxxxxxxxxxx
+                                                         ldff1h.  */
+                                                      return 1719;
+                                                    }
                                                 }
                                             }
                                         }
@@ -16641,7 +16652,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x0x00xxxxx000xxxxxxxxxxxxx
                                                      st3q.  */
-                                                  return 3330;
+                                                  return 3331;
                                                 }
                                               else
                                                 {
@@ -16651,7 +16662,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x0010xxxxx000xxxxxxxxxxxxx
                                                          st2q.  */
-                                                      return 3329;
+                                                      return 3330;
                                                     }
                                                   else
                                                     {
@@ -16659,7 +16670,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x0110xxxxx000xxxxxxxxxxxxx
                                                          st4q.  */
-                                                      return 3331;
+                                                      return 3332;
                                                     }
                                                 }
                                             }
@@ -17325,7 +17336,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x0xx01xxxx111xxxxxxxxxxxxx
                                                      ld2q.  */
-                                                  return 3322;
+                                                  return 3323;
                                                 }
                                             }
                                         }
@@ -17461,7 +17472,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  101001x0xx1xxxxx100xxxxxxxxxxxxx
                                                  ld2q.  */
-                                              return 3325;
+                                              return 3326;
                                             }
                                         }
                                       else
@@ -17606,7 +17617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x00x1xxxxx000xxxxxxxxxxxxx
                                                      st2q.  */
-                                                  return 3332;
+                                                  return 3333;
                                                 }
                                             }
                                           else
@@ -17649,7 +17660,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x0101xxxxx000xxxxxxxxxxxxx
                                                          st3q.  */
-                                                      return 3333;
+                                                      return 3334;
                                                     }
                                                 }
                                               else
@@ -17690,7 +17701,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x0111xxxxx000xxxxxxxxxxxxx
                                                          st4q.  */
-                                                      return 3334;
+                                                      return 3335;
                                                     }
                                                 }
                                             }
@@ -17719,7 +17730,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  011001x0001xxxxx0100x1xxxxxxxxxx
                                                                  fdot.  */
-                                                              return 3421;
+                                                              return 3422;
                                                             }
                                                         }
                                                       else
@@ -17728,7 +17739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0001xxxxx0101xxxxxxxxxxxx
                                                              fmlalb.  */
-                                                          return 3423;
+                                                          return 3424;
                                                         }
                                                     }
                                                   else
@@ -17769,7 +17780,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0101xxxxx0101xxxxxxxxxxxx
                                                              fmlalt.  */
-                                                          return 3433;
+                                                          return 3434;
                                                         }
                                                     }
                                                   else
@@ -17802,7 +17813,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0011xxxxx010xx1xxxxxxxxxx
                                                              fdot.  */
-                                                          return 3419;
+                                                          return 3420;
                                                         }
                                                     }
                                                   else
@@ -17873,7 +17884,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x11001x0001xxxxx100010xxxxxxxxxx
                                                                  fmlallbb.  */
-                                                              return 3424;
+                                                              return 3425;
                                                             }
                                                         }
                                                       else
@@ -17882,7 +17893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x11001x0001xxxxx1000x1xxxxxxxxxx
                                                              fdot.  */
-                                                          return 3420;
+                                                          return 3421;
                                                         }
                                                     }
                                                   else
@@ -17891,7 +17902,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x0001xxxxx1100xxxxxxxxxxxx
                                                          fmlallbb.  */
-                                                      return 3425;
+                                                      return 3426;
                                                     }
                                                 }
                                               else
@@ -17900,7 +17911,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0001xxxxx1x01xxxxxxxxxxxx
                                                      fmlallbt.  */
-                                                  return 3426;
+                                                  return 3427;
                                                 }
                                             }
                                           else
@@ -17927,7 +17938,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x0101xxxxx100010xxxxxxxxxx
                                                                      fmlalb.  */
-                                                                  return 3422;
+                                                                  return 3423;
                                                                 }
                                                             }
                                                           else
@@ -17945,7 +17956,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0101xxxxx1100xxxxxxxxxxxx
                                                              fmlalltb.  */
-                                                          return 3429;
+                                                          return 3430;
                                                         }
                                                     }
                                                   else
@@ -17954,7 +17965,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x0101xxxxx1x01xxxxxxxxxxxx
                                                          fmlalt.  */
-                                                      return 3432;
+                                                      return 3433;
                                                     }
                                                 }
                                               else
@@ -17987,7 +17998,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x0011xxxxx100xx1xxxxxxxxxx
                                                          fdot.  */
-                                                      return 3418;
+                                                      return 3419;
                                                     }
                                                 }
                                               else
@@ -17996,7 +18007,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0011xxxxx110xxxxxxxxxxxxx
                                                      fmlallbt.  */
-                                                  return 3427;
+                                                  return 3428;
                                                 }
                                             }
                                           else
@@ -18028,7 +18039,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x0111xxxxx110xxxxxxxxxxxxx
                                                          fmlalltt.  */
-                                                      return 3431;
+                                                      return 3432;
                                                     }
                                                 }
                                               else
@@ -18327,7 +18338,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  111001x0xx1xxxxx001xxxxxxxxxxxxx
                                                  st1q.  */
-                                              return 3328;
+                                              return 3329;
                                             }
                                         }
                                       else
@@ -18342,7 +18353,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x0001xxxxx1010xxxxxxxxxxxx
                                                          fmlalltb.  */
-                                                      return 3428;
+                                                      return 3429;
                                                     }
                                                   else
                                                     {
@@ -18350,7 +18361,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x0001xxxxx1011xxxxxxxxxxxx
                                                          fmlalltt.  */
-                                                      return 3430;
+                                                      return 3431;
                                                     }
                                                 }
                                               else
@@ -19103,7 +19114,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1x11xxxxx001x01xxxxxxxxxx
                                                              extq.  */
-                                                          return 3320;
+                                                          return 3321;
                                                         }
                                                     }
                                                   else
@@ -20706,7 +20717,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x1xx1xxxxx101100xxxxxxxxxx
                                                              luti2.  */
-                                                          return 3390;
+                                                          return 3391;
                                                         }
                                                     }
                                                   else
@@ -20715,7 +20726,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          010001x1xx1xxxxx101x10xxxxxxxxxx
                                                          luti2.  */
-                                                      return 3391;
+                                                      return 3392;
                                                     }
                                                 }
                                               else
@@ -20728,7 +20739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x1xx1xxxxx101001xxxxxxxxxx
                                                              luti4.  */
-                                                          return 3392;
+                                                          return 3393;
                                                         }
                                                       else
                                                         {
@@ -20736,7 +20747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x1xx1xxxxx101101xxxxxxxxxx
                                                              luti4.  */
-                                                          return 3393;
+                                                          return 3394;
                                                         }
                                                     }
                                                   else
@@ -20745,7 +20756,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          010001x1xx1xxxxx101x11xxxxxxxxxx
                                                          luti4.  */
-                                                      return 3394;
+                                                      return 3395;
                                                     }
                                                 }
                                             }
@@ -21696,7 +21707,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x1xx001000001x00xxxxxxxxxx
                                                                              f1cvt.  */
-                                                                          return 3352;
+                                                                          return 3353;
                                                                         }
                                                                       else
                                                                         {
@@ -21704,7 +21715,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x1xx001000001x10xxxxxxxxxx
                                                                              bf1cvt.  */
-                                                                          return 3348;
+                                                                          return 3349;
                                                                         }
                                                                     }
                                                                   else
@@ -21715,7 +21726,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x1xx001000001x01xxxxxxxxxx
                                                                              f2cvt.  */
-                                                                          return 3353;
+                                                                          return 3354;
                                                                         }
                                                                       else
                                                                         {
@@ -21723,7 +21734,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x1xx001000001x11xxxxxxxxxx
                                                                              bf2cvt.  */
-                                                                          return 3349;
+                                                                          return 3350;
                                                                         }
                                                                     }
                                                                 }
@@ -21768,7 +21779,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1010001x00xxxxxxxxxx
                                                                          fcvtn.  */
-                                                                      return 3357;
+                                                                      return 3358;
                                                                     }
                                                                   else
                                                                     {
@@ -21776,7 +21787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1010001x10xxxxxxxxxx
                                                                          bfcvtn.  */
-                                                                      return 3356;
+                                                                      return 3357;
                                                                     }
                                                                 }
                                                               else
@@ -21787,7 +21798,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1010001x01xxxxxxxxxx
                                                                          fcvtnb.  */
-                                                                      return 3358;
+                                                                      return 3359;
                                                                     }
                                                                   else
                                                                     {
@@ -21795,7 +21806,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1010001x11xxxxxxxxxx
                                                                          fcvtnt.  */
-                                                                      return 3359;
+                                                                      return 3360;
                                                                     }
                                                                 }
                                                             }
@@ -21856,7 +21867,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1001001x00xxxxxxxxxx
                                                                          f1cvtlt.  */
-                                                                      return 3354;
+                                                                      return 3355;
                                                                     }
                                                                   else
                                                                     {
@@ -21864,7 +21875,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1001001x10xxxxxxxxxx
                                                                          bf1cvtlt.  */
-                                                                      return 3350;
+                                                                      return 3351;
                                                                     }
                                                                 }
                                                               else
@@ -21875,7 +21886,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1001001x01xxxxxxxxxx
                                                                          f2cvtlt.  */
-                                                                      return 3355;
+                                                                      return 3356;
                                                                     }
                                                                   else
                                                                     {
@@ -21883,7 +21894,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1001001x11xxxxxxxxxx
                                                                          bf2cvtlt.  */
-                                                                      return 3351;
+                                                                      return 3352;
                                                                     }
                                                                 }
                                                             }
@@ -23209,7 +23220,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x10x01xxxx111xxxxxxxxxxxxx
                                                          ld3q.  */
-                                                      return 3323;
+                                                      return 3324;
                                                     }
                                                   else
                                                     {
@@ -23217,7 +23228,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x11x01xxxx111xxxxxxxxxxxxx
                                                          ld4q.  */
-                                                      return 3324;
+                                                      return 3325;
                                                     }
                                                 }
                                             }
@@ -24390,7 +24401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x10x1xxxxx100xxxxxxxxxxxxx
                                                      ld3q.  */
-                                                  return 3326;
+                                                  return 3327;
                                                 }
                                               else
                                                 {
@@ -24398,7 +24409,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x11x1xxxxx100xxxxxxxxxxxxx
                                                      ld4q.  */
-                                                  return 3327;
+                                                  return 3328;
                                                 }
                                             }
                                           else
@@ -26463,7 +26474,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110100xxxxxxxx100xxxxxxxxxx
                                                          luti2.  */
-                                                      return 3386;
+                                                      return 3387;
                                                     }
                                                 }
                                             }
@@ -26477,7 +26488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110010xxxxxxxx000xxxxxxxxxx
                                                          luti4.  */
-                                                      return 3388;
+                                                      return 3389;
                                                     }
                                                   else
                                                     {
@@ -26485,7 +26496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110010xxxxxxxx100xxxxxxxxxx
                                                          luti4.  */
-                                                      return 3389;
+                                                      return 3390;
                                                     }
                                                 }
                                               else
@@ -26494,7 +26505,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      0x001110110xxxxxxxxx00xxxxxxxxxx
                                                      luti2.  */
-                                                  return 3387;
+                                                  return 3388;
                                                 }
                                             }
                                         }
@@ -26610,7 +26621,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110x00xxxxxx10001xxxxxxxxxx
                                                                  fmlallbb.  */
-                                                              return 3410;
+                                                              return 3411;
                                                             }
                                                           else
                                                             {
@@ -26618,7 +26629,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110x00xxxxxx10001xxxxxxxxxx
                                                                  fmlalltb.  */
-                                                              return 3412;
+                                                              return 3413;
                                                             }
                                                         }
                                                       else
@@ -26629,7 +26640,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110x10xxxxxx10001xxxxxxxxxx
                                                                  fmlallbt.  */
-                                                              return 3411;
+                                                              return 3412;
                                                             }
                                                           else
                                                             {
@@ -26637,7 +26648,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110x10xxxxxx10001xxxxxxxxxx
                                                                  fmlalltt.  */
-                                                              return 3413;
+                                                              return 3414;
                                                             }
                                                         }
                                                     }
@@ -26725,7 +26736,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110x00xxxxxx11101xxxxxxxxxx
                                                                  fcvtn.  */
-                                                              return 3343;
+                                                              return 3344;
                                                             }
                                                           else
                                                             {
@@ -26733,7 +26744,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110x00xxxxxx11101xxxxxxxxxx
                                                                  fcvtn2.  */
-                                                              return 3344;
+                                                              return 3345;
                                                             }
                                                         }
                                                       else
@@ -26742,7 +26753,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110x10xxxxxx11101xxxxxxxxxx
                                                              fcvtn.  */
-                                                          return 3345;
+                                                          return 3346;
                                                         }
                                                     }
                                                 }
@@ -26885,7 +26896,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110x00xxxxxx11111xxxxxxxxxx
                                                              fdot.  */
-                                                          return 3402;
+                                                          return 3403;
                                                         }
                                                       else
                                                         {
@@ -26895,7 +26906,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  0x001110010xxxxxx11111xxxxxxxxxx
                                                                  fdot.  */
-                                                              return 3404;
+                                                              return 3405;
                                                             }
                                                           else
                                                             {
@@ -26905,7 +26916,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00001110110xxxxxx11111xxxxxxxxxx
                                                                      fmlalb.  */
-                                                                  return 3406;
+                                                                  return 3407;
                                                                 }
                                                               else
                                                                 {
@@ -26913,7 +26924,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01001110110xxxxxx11111xxxxxxxxxx
                                                                      fmlalt.  */
-                                                                  return 3407;
+                                                                  return 3408;
                                                                 }
                                                             }
                                                         }
@@ -27187,7 +27198,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110110xxxxx0x1111xxxxxxxxxx
                                                              fscale.  */
-                                                          return 3346;
+                                                          return 3347;
                                                         }
                                                     }
                                                 }
@@ -28579,7 +28590,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x0101110001xxxx1011110xxxxxxxxxx
                                                                          f1cvtl.  */
-                                                                      return 3339;
+                                                                      return 3340;
                                                                     }
                                                                   else
                                                                     {
@@ -28587,7 +28598,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1101110001xxxx1011110xxxxxxxxxx
                                                                          f1cvtl2.  */
-                                                                      return 3340;
+                                                                      return 3341;
                                                                     }
                                                                 }
                                                               else
@@ -28598,7 +28609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x0101110101xxxx1011110xxxxxxxxxx
                                                                          bf1cvtl.  */
-                                                                      return 3335;
+                                                                      return 3336;
                                                                     }
                                                                   else
                                                                     {
@@ -28606,7 +28617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1101110101xxxx1011110xxxxxxxxxx
                                                                          bf1cvtl2.  */
-                                                                      return 3336;
+                                                                      return 3337;
                                                                     }
                                                                 }
                                                             }
@@ -28620,7 +28631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x0101110011xxxx1011110xxxxxxxxxx
                                                                          f2cvtl.  */
-                                                                      return 3341;
+                                                                      return 3342;
                                                                     }
                                                                   else
                                                                     {
@@ -28628,7 +28639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1101110011xxxx1011110xxxxxxxxxx
                                                                          f2cvtl2.  */
-                                                                      return 3342;
+                                                                      return 3343;
                                                                     }
                                                                 }
                                                               else
@@ -28639,7 +28650,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x0101110111xxxx1011110xxxxxxxxxx
                                                                          bf2cvtl.  */
-                                                                      return 3337;
+                                                                      return 3338;
                                                                     }
                                                                   else
                                                                     {
@@ -28647,7 +28658,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1101110111xxxx1011110xxxxxxxxxx
                                                                          bf2cvtl2.  */
-                                                                      return 3338;
+                                                                      return 3339;
                                                                     }
                                                                 }
                                                             }
@@ -30646,7 +30657,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx1011101x1xxxxx111111xxxxxxxxxx
                                                              fscale.  */
-                                                          return 3347;
+                                                          return 3348;
                                                         }
                                                     }
                                                 }
@@ -32362,7 +32373,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx00111100xxxxxx0000x0xxxxxxxxxx
                                                          fdot.  */
-                                                      return 3403;
+                                                      return 3404;
                                                     }
                                                   else
                                                     {
@@ -32392,7 +32403,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx00111101xxxxxx0000x0xxxxxxxxxx
                                                          fdot.  */
-                                                      return 3405;
+                                                      return 3406;
                                                     }
                                                   else
                                                     {
@@ -32402,7 +32413,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x000111111xxxxxx0000x0xxxxxxxxxx
                                                              fmlalb.  */
-                                                          return 3408;
+                                                          return 3409;
                                                         }
                                                       else
                                                         {
@@ -32410,7 +32421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x100111111xxxxxx0000x0xxxxxxxxxx
                                                              fmlalt.  */
-                                                          return 3409;
+                                                          return 3410;
                                                         }
                                                     }
                                                 }
@@ -32952,7 +32963,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x010111100xxxxxx1000x0xxxxxxxxxx
                                                              fmlallbb.  */
-                                                          return 3414;
+                                                          return 3415;
                                                         }
                                                       else
                                                         {
@@ -32960,7 +32971,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x110111100xxxxxx1000x0xxxxxxxxxx
                                                              fmlalltb.  */
-                                                          return 3416;
+                                                          return 3417;
                                                         }
                                                     }
                                                   else
@@ -32991,7 +33002,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0101111x1xxxxxx1000x0xxxxxxxxxx
                                                          fmlallbt.  */
-                                                      return 3415;
+                                                      return 3416;
                                                     }
                                                   else
                                                     {
@@ -32999,7 +33010,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1101111x1xxxxxx1000x0xxxxxxxxxx
                                                          fmlalltt.  */
-                                                      return 3417;
+                                                      return 3418;
                                                     }
                                                 }
                                             }
index 81b23b3f369bca9d0166e20219b76a470dabc4b0..56a6c9d6e829e30cda791388f81727a925ad4f06 100644 (file)
@@ -6641,6 +6641,7 @@ const struct aarch64_opcode aarch64_opcode_table[] =
 
   SVE2p1_INSN("dupq",0x05202400, 0xffe0fc00, sve_index, 0, OP2 (SVE_Zd, SVE_Zn_5_INDEX), OP_SVE_VV_BHSD, 0, 0),
   SVE2p1_INSN("orqv",0x041c2000, 0xff3fe000, sve2_urqvs, 0, OP3 (Vd, SVE_Pg3, SVE_Zn), OP_SVE_vUS_BHSD_BHSD, F_OPD_SIZE, 0),
+  SVE2p1_INSN("tblq",0x4400f800, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_ZnxN, SVE_Zm_16), OP_SVE_VVV_BHSD, F_OD(1), 0),
   SVE2p1_INSNC("extq",0x05602400, 0xfff0fc00, sve_misc, 0, OP4 (SVE_Zd, SVE_Zd, SVE_Zm_5, SVE_UIMM4), OP_SVE_BBBU, 0, C_SCAN_MOVPRFX, 1),
 
   SVE2p1_INSN("ld1q",0xc400a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_QZD, F_OD (1), 0),