]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
aarch64: Add support for sve2p1 uzpq[1-2] instructions.
authorSrinath Parvathaneni <srinath.parvathaneni@arm.com>
Mon, 8 Jul 2024 16:44:26 +0000 (17:44 +0100)
committerSrinath Parvathaneni <srinath.parvathaneni@arm.com>
Mon, 8 Jul 2024 16:46:00 +0000 (17:46 +0100)
This patch adds support for SVE2p1 "uzpq1" and "uzpq2" instructions, 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
gas/testsuite/gas/aarch64/sve2p1-6-invalid.l
gas/testsuite/gas/aarch64/sve2p1-6-invalid.s
gas/testsuite/gas/aarch64/sve2p1-6.d
gas/testsuite/gas/aarch64/sve2p1-6.s
opcodes/aarch64-dis-2.c
opcodes/aarch64-tbl.h

index 1aa2b39f85787a7a5c5cb02b4eb0517fef776c2a..0971a58781582ef16c0e269d6100f301825f7d87 100644 (file)
@@ -1,3 +1,3 @@
-#name: Test of illegal SVE2.1 TBLQ instruction.
+#name: Test of illegal SVE2.1 tblq, uzpq1 and uzpq2 instruction.
 #as: -march=armv9.4-a
 #error_output: sve2p1-6-invalid.l
index 0fea3255db4d5ad0183092f29a94d2959d34269e..c784ca6c891dde257cbd676a48eb455c0106d188 100644 (file)
 .*: 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}'
+.*: Error: expected an SVE vector register at operand 2 -- `uzpq1 z0.s,{z0.b},z0.b'
+.*: Error: operand mismatch -- `uzpq1 z31.s,z0.b,z0.h'
+.*: Info:    did you mean this\?
+.*: Info:      uzpq1 z31.b, z0.b, z0.b
+.*: Info:    other valid variant\(s\):
+.*: Info:      uzpq1 z31.h, z0.h, z0.h
+.*: Info:      uzpq1 z31.s, z0.s, z0.s
+.*: Info:      uzpq1 z31.d, z0.d, z0.d
+.*: Error: expected an SVE vector register at operand 2 -- `uzpq1 z0.s,{z0.s,z1.s},z0.s'
+.*: Error: expected an SVE vector register at operand 2 -- `uzpq1 z0.h,{z0.h-z1.h},z0.h'
+.*: Error: expected an SVE vector register at operand 1 -- `uzpq1 {z0.s},z31.s,z0.b'
+.*: Error: expected an SVE vector register at operand 2 -- `uzpq1 z0.b,{z0.b},{z31.b}'
+.*: Error: expected an SVE vector register at operand 2 -- `uzpq2 z0.s,{z0.b},z0.b'
+.*: Error: operand mismatch -- `uzpq2 z31.s,z0.b,z0.h'
+.*: Info:    did you mean this\?
+.*: Info:      uzpq2 z31.b, z0.b, z0.b
+.*: Info:    other valid variant\(s\):
+.*: Info:      uzpq2 z31.h, z0.h, z0.h
+.*: Info:      uzpq2 z31.s, z0.s, z0.s
+.*: Info:      uzpq2 z31.d, z0.d, z0.d
+.*: Error: expected an SVE vector register at operand 2 -- `uzpq2 z0.s,{z0.s,z1.s},z0.s'
+.*: Error: expected an SVE vector register at operand 2 -- `uzpq2 z0.h,{z0.h-z1.h},z0.h'
+.*: Error: expected an SVE vector register at operand 1 -- `uzpq2 {z0.s},z31.s,z0.b'
+.*: Error: expected an SVE vector register at operand 2 -- `uzpq2 z0.b,{z0.b},{z31.b}'
index 0f8300e385cfddd2d9ef69dfc49f0efa1fb5f258..8a6df8677266bb6394b23b976d5e8c6b10258084 100644 (file)
@@ -4,3 +4,15 @@ 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}
+uzpq1 z0.s, {z0.b}, z0.b
+uzpq1 z31.s, z0.b, z0.h
+uzpq1 z0.s, {z0.s, z1.s}, z0.s
+uzpq1 z0.h, {z0.h - z1.h}, z0.h
+uzpq1 {z0.s}, z31.s, z0.b
+uzpq1 z0.b, {z0.b}, {z31.b}
+uzpq2 z0.s, {z0.b}, z0.b
+uzpq2 z31.s, z0.b, z0.h
+uzpq2 z0.s, {z0.s, z1.s}, z0.s
+uzpq2 z0.h, {z0.h - z1.h}, z0.h
+uzpq2 {z0.s}, z31.s, z0.b
+uzpq2 z0.b, {z0.b}, {z31.b}
index d146903c4a7b8ea2ba12c5a79f69c1d6b9389d00..b36515f234c42f4754b1b30c2f4edd5defa446f5 100644 (file)
@@ -1,4 +1,4 @@
-#name: Test of SVE2.1 TBLQ instruction.
+#name: Test of SVE2.1 tblq, uzpq1 and uzpq2 instruction.
 #as: -march=armv9.4-a
 #objdump: -dr
 
 .*:    44dffbff        tblq    z31.d, {z31.d}, z31.d
 .*:    444ff945        tblq    z5.h, {z10.h}, z15.h
 .*:    4487f861        tblq    z1.s, {z3.s}, z7.s
+.*:    4400e800        uzpq1   z0.b, z0.b, z0.b
+.*:    4400e81f        uzpq1   z31.b, z0.b, z0.b
+.*:    44c0e800        uzpq1   z0.d, z0.d, z0.d
+.*:    4400ebe0        uzpq1   z0.b, z31.b, z0.b
+.*:    441fe800        uzpq1   z0.b, z0.b, z31.b
+.*:    44dfebff        uzpq1   z31.d, z31.d, z31.d
+.*:    448fe945        uzpq1   z5.s, z10.s, z15.s
+.*:    4454e9ea        uzpq1   z10.h, z15.h, z20.h
+.*:    4400ec00        uzpq2   z0.b, z0.b, z0.b
+.*:    4400ec1f        uzpq2   z31.b, z0.b, z0.b
+.*:    44c0ec00        uzpq2   z0.d, z0.d, z0.d
+.*:    4400efe0        uzpq2   z0.b, z31.b, z0.b
+.*:    441fec00        uzpq2   z0.b, z0.b, z31.b
+.*:    44dfefff        uzpq2   z31.d, z31.d, z31.d
+.*:    448fed45        uzpq2   z5.s, z10.s, z15.s
+.*:    4454edea        uzpq2   z10.h, z15.h, z20.h
index d2a0ef5fedf097ec52383eb71b7a1f8c4d0c066b..b8c6ed72a89a6c6e72c8dab79b80611bf97346bd 100644 (file)
@@ -6,3 +6,21 @@ 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
+
+uzpq1 z0.b, z0.b, z0.b
+uzpq1 z31.b, z0.b, z0.b
+uzpq1 z0.d, z0.d, z0.d
+uzpq1 z0.b, z31.b, z0.b
+uzpq1 z0.b, z0.b, z31.b
+uzpq1 z31.d, z31.d, z31.d
+uzpq1 z5.s, z10.s, z15.s
+uzpq1 z10.h, z15.h, z20.h
+
+uzpq2 z0.b, z0.b, z0.b
+uzpq2 z31.b, z0.b, z0.b
+uzpq2 z0.d, z0.d, z0.d
+uzpq2 z0.b, z31.b, z0.b
+uzpq2 z0.b, z0.b, z31.b
+uzpq2 z31.d, z31.d, z31.d
+uzpq2 z5.s, z10.s, z15.s
+uzpq2 z10.h, z15.h, z20.h
index 5fadd4b2b0030adf48946bf5e25777fdc9e5a4f8..b31ab44e03f24343b93275398e79a14d5856f334 100644 (file)
@@ -216,7 +216,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000000x000101x00xxxxxxxxxxxxxx
                                                                  luti4.  */
-                                                              return 3396;
+                                                              return 3398;
                                                             }
                                                           else
                                                             {
@@ -251,7 +251,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1000000xx01101xxxxxxxxxxxxxxxxx
                                                      luti4.  */
-                                                  return 3397;
+                                                  return 3399;
                                                 }
                                             }
                                         }
@@ -375,7 +375,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000000010x11x1xxxx00xxxxxxxxxx
                                                                  movt.  */
-                                                              return 3398;
+                                                              return 3400;
                                                             }
                                                         }
                                                       else
@@ -1157,7 +1157,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx000000101xxxxxxxxxxxxxxxx00xxx
                                                  fmopa.  */
-                                              return 3464;
+                                              return 3466;
                                             }
                                           else
                                             {
@@ -1165,7 +1165,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx000000101xxxxxxxxxxxxxxxx01xxx
                                                  fmopa.  */
-                                              return 3463;
+                                              return 3465;
                                             }
                                         }
                                       else
@@ -1513,7 +1513,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0000010001xxxx1xx0xxxxx1000xxx
                                                                      fmlall.  */
-                                                                  return 3457;
+                                                                  return 3459;
                                                                 }
                                                             }
                                                         }
@@ -1543,7 +1543,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0000010001xxxxxxx1xxxxxx00xxxx
                                                          fdot.  */
-                                                      return 3442;
+                                                      return 3444;
                                                     }
                                                 }
                                               else
@@ -1915,7 +1915,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10000011001xxxxxxx0xxxxxx100xxx
                                                                  fmlall.  */
-                                                              return 3456;
+                                                              return 3458;
                                                             }
                                                         }
                                                     }
@@ -2020,7 +2020,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x10000011001xxxxxxx1xxxxxx10xxxx
                                                              fmlal.  */
-                                                          return 3449;
+                                                          return 3451;
                                                         }
                                                     }
                                                 }
@@ -2193,7 +2193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x10000011001xxxxxxx1xxxxxx11xxxx
                                                              fmlal.  */
-                                                          return 3448;
+                                                          return 3450;
                                                         }
                                                     }
                                                 }
@@ -2235,7 +2235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx0000010100xxxxxxxxxxxxxxxx0xxx
                                                  fmlall.  */
-                                              return 3455;
+                                              return 3457;
                                             }
                                           else
                                             {
@@ -2603,7 +2603,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx0xx0xxxxxx111xxx
                                                              fdot.  */
-                                                          return 3435;
+                                                          return 3437;
                                                         }
                                                       else
                                                         {
@@ -2672,7 +2672,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx1xx0xxxxxx001xxx
                                                              fdot.  */
-                                                          return 3436;
+                                                          return 3438;
                                                         }
                                                       else
                                                         {
@@ -2751,7 +2751,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx0000011100xxxxxxx0xxxxxxx0xxxx
                                                      fmlal.  */
-                                                  return 3447;
+                                                  return 3449;
                                                 }
                                               else
                                                 {
@@ -2806,7 +2806,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx0000011101xxxx0xx01xxxxx00xxxx
                                                                  fvdotb.  */
-                                                              return 3466;
+                                                              return 3468;
                                                             }
                                                           else
                                                             {
@@ -2824,7 +2824,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0000011101xxxxxxx0xxxxxx10xxxx
                                                          fdot.  */
-                                                      return 3441;
+                                                      return 3443;
                                                     }
                                                 }
                                             }
@@ -2898,7 +2898,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0000011101xxxxxxx1xxxxxx10xxxx
                                                          fvdot.  */
-                                                      return 3465;
+                                                      return 3467;
                                                     }
                                                 }
                                             }
@@ -2978,7 +2978,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx000001110xxxxx0xx01xxxxxx1xxxx
                                                          fvdott.  */
-                                                      return 3467;
+                                                      return 3469;
                                                     }
                                                   else
                                                     {
@@ -3155,7 +3155,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x10000011x1xxxx00xx000xxxx10000x
                                                                                  fmlall.  */
-                                                                              return 3461;
+                                                                              return 3463;
                                                                             }
                                                                           else
                                                                             {
@@ -3163,7 +3163,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x10000011x1xxxx10xx000xxxx10000x
                                                                                  fmlall.  */
-                                                                              return 3462;
+                                                                              return 3464;
                                                                             }
                                                                         }
                                                                     }
@@ -3218,7 +3218,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx10xxxx0xx000xxxxx00x1x
                                                                      fmlall.  */
-                                                                  return 3459;
+                                                                  return 3461;
                                                                 }
                                                               else
                                                                 {
@@ -3226,7 +3226,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx11xxxx0xx000xxxxx00x1x
                                                                      fmlall.  */
-                                                                  return 3460;
+                                                                  return 3462;
                                                                 }
                                                             }
                                                         }
@@ -3280,7 +3280,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000011x1xxxx00xx100xxxx100xxx
                                                                          fdot.  */
-                                                                      return 3445;
+                                                                      return 3447;
                                                                     }
                                                                   else
                                                                     {
@@ -3288,7 +3288,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000011x1xxxx10xx100xxxx100xxx
                                                                          fdot.  */
-                                                                      return 3446;
+                                                                      return 3448;
                                                                     }
                                                                 }
                                                             }
@@ -3350,7 +3350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001101xxxx00xx010xxxx1000xx
                                                                                  fmlal.  */
-                                                                              return 3453;
+                                                                              return 3455;
                                                                             }
                                                                           else
                                                                             {
@@ -3358,7 +3358,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001101xxxx10xx010xxxx1000xx
                                                                                  fmlal.  */
-                                                                              return 3454;
+                                                                              return 3456;
                                                                             }
                                                                         }
                                                                     }
@@ -3413,7 +3413,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx10xxxx0xx010xxxxx001xx
                                                                      fmlal.  */
-                                                                  return 3451;
+                                                                  return 3453;
                                                                 }
                                                               else
                                                                 {
@@ -3421,7 +3421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx11xxxx0xx010xxxxx001xx
                                                                      fmlal.  */
-                                                                  return 3452;
+                                                                  return 3454;
                                                                 }
                                                             }
                                                         }
@@ -3490,7 +3490,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx11xxxx0xx001xxxxx000xx
                                                                      fmlall.  */
-                                                                  return 3458;
+                                                                  return 3460;
                                                                 }
                                                             }
                                                           else
@@ -3573,7 +3573,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000001xx11xxxx0xx011xxxxx00xxx
                                                                  fmlal.  */
-                                                              return 3450;
+                                                              return 3452;
                                                             }
                                                         }
                                                       else
@@ -3594,7 +3594,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xx1x00xx111xxxxx00xxx
                                                                      fadd.  */
-                                                                  return 3399;
+                                                                  return 3401;
                                                                 }
                                                             }
                                                           else
@@ -3613,7 +3613,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xx1x10xx111xxxxx00xxx
                                                                      fadd.  */
-                                                                  return 3400;
+                                                                  return 3402;
                                                                 }
                                                             }
                                                         }
@@ -3739,7 +3739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000011x1xxxx00xx100xxxx110xxx
                                                                          fdot.  */
-                                                                      return 3439;
+                                                                      return 3441;
                                                                     }
                                                                   else
                                                                     {
@@ -3747,7 +3747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000011x1xxxx10xx100xxxx110xxx
                                                                          fdot.  */
-                                                                      return 3440;
+                                                                      return 3442;
                                                                     }
                                                                 }
                                                             }
@@ -4038,7 +4038,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000001xx10xxxx0xx100xxxxx01xxx
                                                                  fdot.  */
-                                                              return 3443;
+                                                              return 3445;
                                                             }
                                                           else
                                                             {
@@ -4046,7 +4046,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000001xx11xxxx0xx100xxxxx01xxx
                                                                  fdot.  */
-                                                              return 3444;
+                                                              return 3446;
                                                             }
                                                         }
                                                     }
@@ -4317,7 +4317,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xx1x00xx111xxxxx01xxx
                                                                      fsub.  */
-                                                                  return 3401;
+                                                                  return 3403;
                                                                 }
                                                             }
                                                           else
@@ -4336,7 +4336,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xx1x10xx111xxxxx01xxx
                                                                      fsub.  */
-                                                                  return 3402;
+                                                                  return 3404;
                                                                 }
                                                             }
                                                         }
@@ -4398,7 +4398,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000001xx10xxxx0xx100xxxxx11xxx
                                                                  fdot.  */
-                                                              return 3437;
+                                                              return 3439;
                                                             }
                                                           else
                                                             {
@@ -4406,7 +4406,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000001xx11xxxx0xx100xxxxx11xxx
                                                                  fdot.  */
-                                                              return 3438;
+                                                              return 3440;
                                                             }
                                                         }
                                                     }
@@ -4941,7 +4941,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001xx1xxxxx101000xx1x0xxxx0
                                                                          fscale.  */
-                                                                      return 3373;
+                                                                      return 3375;
                                                                     }
                                                                 }
                                                               else
@@ -5089,7 +5089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x1000001x0100100111000xxxx0xxxxx
                                                                                          fcvt.  */
-                                                                                      return 3370;
+                                                                                      return 3372;
                                                                                     }
                                                                                   else
                                                                                     {
@@ -5097,7 +5097,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x1000001x1100100111000xxxx0xxxxx
                                                                                          bfcvt.  */
-                                                                                      return 3365;
+                                                                                      return 3367;
                                                                                     }
                                                                                 }
                                                                               else
@@ -5106,7 +5106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                      10987654321098765432109876543210
                                                                                      x1000001xx110100111000xxxx0xxxxx
                                                                                      fcvt.  */
-                                                                                  return 3371;
+                                                                                  return 3373;
                                                                                 }
                                                                             }
                                                                           else
@@ -5157,7 +5157,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              x1000001xx1xx100111000xxxx1xxxxx
                                                                              fcvtn.  */
-                                                                          return 3372;
+                                                                          return 3374;
                                                                         }
                                                                     }
                                                                 }
@@ -5240,7 +5240,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x10000010010x110111000xxxxxxxxx0
                                                                                          f1cvt.  */
-                                                                                      return 3366;
+                                                                                      return 3368;
                                                                                     }
                                                                                   else
                                                                                     {
@@ -5248,7 +5248,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x10000011010x110111000xxxxxxxxx0
                                                                                          f2cvt.  */
-                                                                                      return 3367;
+                                                                                      return 3369;
                                                                                     }
                                                                                 }
                                                                               else
@@ -5259,7 +5259,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x10000010110x110111000xxxxxxxxx0
                                                                                          bf1cvt.  */
-                                                                                      return 3361;
+                                                                                      return 3363;
                                                                                     }
                                                                                   else
                                                                                     {
@@ -5267,7 +5267,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x10000011110x110111000xxxxxxxxx0
                                                                                          bf2cvt.  */
-                                                                                      return 3362;
+                                                                                      return 3364;
                                                                                     }
                                                                                 }
                                                                             }
@@ -5302,7 +5302,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001001xxx10111000xxxxxxxxx1
                                                                                  f1cvtl.  */
-                                                                              return 3368;
+                                                                              return 3370;
                                                                             }
                                                                           else
                                                                             {
@@ -5310,7 +5310,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001101xxx10111000xxxxxxxxx1
                                                                                  f2cvtl.  */
-                                                                              return 3369;
+                                                                              return 3371;
                                                                             }
                                                                         }
                                                                       else
@@ -5321,7 +5321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001011xxx10111000xxxxxxxxx1
                                                                                  bf1cvtl.  */
-                                                                              return 3363;
+                                                                              return 3365;
                                                                             }
                                                                           else
                                                                             {
@@ -5329,7 +5329,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001111xxx10111000xxxxxxxxx1
                                                                                  bf2cvtl.  */
-                                                                              return 3364;
+                                                                              return 3366;
                                                                             }
                                                                         }
                                                                     }
@@ -5598,7 +5598,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001xx1xxxxx1x1100xx100xxxx0
                                                                          fscale.  */
-                                                                      return 3375;
+                                                                      return 3377;
                                                                     }
                                                                 }
                                                               else
@@ -5774,7 +5774,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001xx1xxxxx1x1010xx100xxxx0
                                                                          fscale.  */
-                                                                      return 3374;
+                                                                      return 3376;
                                                                     }
                                                                   else
                                                                     {
@@ -5782,7 +5782,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001xx1xxxxx1x1110xx100xxxx0
                                                                          fscale.  */
-                                                                      return 3376;
+                                                                      return 3378;
                                                                     }
                                                                 }
                                                             }
@@ -10950,7 +10950,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x0x11010000xxxxxxx1xxxxxxxxxxxxx
                                              addpt.  */
-                                          return 3377;
+                                          return 3379;
                                         }
                                       else
                                         {
@@ -10958,7 +10958,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x1x11010000xxxxxxx1xxxxxxxxxxxxx
                                              subpt.  */
-                                          return 3378;
+                                          return 3380;
                                         }
                                     }
                                 }
@@ -11876,7 +11876,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxx1011x11xxxxx0xxxxxxxxxxxxxxx
                                  maddpt.  */
-                              return 3379;
+                              return 3381;
                             }
                           else
                             {
@@ -11884,7 +11884,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxx1011x11xxxxx1xxxxxxxxxxxxxxx
                                  msubpt.  */
-                              return 3380;
+                              return 3382;
                             }
                         }
                     }
@@ -11969,7 +11969,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx000100000xxxxxxxxxxxxx
                                                                      addpt.  */
-                                                                  return 3381;
+                                                                  return 3383;
                                                                 }
                                                               else
                                                                 {
@@ -12076,7 +12076,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx000101000xxxxxxxxxxxxx
                                                                      subpt.  */
-                                                                  return 3383;
+                                                                  return 3385;
                                                                 }
                                                               else
                                                                 {
@@ -12281,7 +12281,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000010xxxxxxxxxx
                                                              addpt.  */
-                                                          return 3382;
+                                                          return 3384;
                                                         }
                                                       else
                                                         {
@@ -12322,7 +12322,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000011xxxxxxxxxx
                                                              subpt.  */
-                                                          return 3384;
+                                                          return 3386;
                                                         }
                                                       else
                                                         {
@@ -13980,7 +13980,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x0xx0xxxxx110100xxxxxxxxxx
                                                              mlapt.  */
-                                                          return 3386;
+                                                          return 3388;
                                                         }
                                                     }
                                                   else
@@ -14010,7 +14010,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x0xx0xxxxx110110xxxxxxxxxx
                                                              madpt.  */
-                                                          return 3385;
+                                                          return 3387;
                                                         }
                                                     }
                                                 }
@@ -15164,7 +15164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      110001x0x00xxxxx101xxxxxxxxxxxxx
                                                      ld1q.  */
-                                                  return 3322;
+                                                  return 3324;
                                                 }
                                               else
                                                 {
@@ -16170,11 +16170,33 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                         {
                                           if (((word >> 31) & 0x1) == 0)
                                             {
-                                              /* 33222222222211111111110000000000
-                                                 10987654321098765432109876543210
-                                                 010001x0xx0xxxxx111xxxxxxxxxxxxx
-                                                 tblq.  */
-                                              return 3320;
+                                              if (((word >> 10) & 0x1) == 0)
+                                                {
+                                                  if (((word >> 12) & 0x1) == 0)
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         010001x0xx0xxxxx1110x0xxxxxxxxxx
+                                                         uzpq1.  */
+                                                      return 3322;
+                                                    }
+                                                  else
+                                                    {
+                                                      /* 33222222222211111111110000000000
+                                                         10987654321098765432109876543210
+                                                         010001x0xx0xxxxx1111x0xxxxxxxxxx
+                                                         tblq.  */
+                                                      return 3320;
+                                                    }
+                                                }
+                                              else
+                                                {
+                                                  /* 33222222222211111111110000000000
+                                                     10987654321098765432109876543210
+                                                     010001x0xx0xxxxx111xx1xxxxxxxxxx
+                                                     uzpq2.  */
+                                                  return 3323;
+                                                }
                                             }
                                           else
                                             {
@@ -16652,7 +16674,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x0x00xxxxx000xxxxxxxxxxxxx
                                                      st3q.  */
-                                                  return 3331;
+                                                  return 3333;
                                                 }
                                               else
                                                 {
@@ -16662,7 +16684,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x0010xxxxx000xxxxxxxxxxxxx
                                                          st2q.  */
-                                                      return 3330;
+                                                      return 3332;
                                                     }
                                                   else
                                                     {
@@ -16670,7 +16692,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x0110xxxxx000xxxxxxxxxxxxx
                                                          st4q.  */
-                                                      return 3332;
+                                                      return 3334;
                                                     }
                                                 }
                                             }
@@ -17336,7 +17358,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x0xx01xxxx111xxxxxxxxxxxxx
                                                      ld2q.  */
-                                                  return 3323;
+                                                  return 3325;
                                                 }
                                             }
                                         }
@@ -17472,7 +17494,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  101001x0xx1xxxxx100xxxxxxxxxxxxx
                                                  ld2q.  */
-                                              return 3326;
+                                              return 3328;
                                             }
                                         }
                                       else
@@ -17617,7 +17639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x00x1xxxxx000xxxxxxxxxxxxx
                                                      st2q.  */
-                                                  return 3333;
+                                                  return 3335;
                                                 }
                                             }
                                           else
@@ -17660,7 +17682,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x0101xxxxx000xxxxxxxxxxxxx
                                                          st3q.  */
-                                                      return 3334;
+                                                      return 3336;
                                                     }
                                                 }
                                               else
@@ -17701,7 +17723,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x0111xxxxx000xxxxxxxxxxxxx
                                                          st4q.  */
-                                                      return 3335;
+                                                      return 3337;
                                                     }
                                                 }
                                             }
@@ -17730,7 +17752,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  011001x0001xxxxx0100x1xxxxxxxxxx
                                                                  fdot.  */
-                                                              return 3422;
+                                                              return 3424;
                                                             }
                                                         }
                                                       else
@@ -17739,7 +17761,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0001xxxxx0101xxxxxxxxxxxx
                                                              fmlalb.  */
-                                                          return 3424;
+                                                          return 3426;
                                                         }
                                                     }
                                                   else
@@ -17780,7 +17802,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0101xxxxx0101xxxxxxxxxxxx
                                                              fmlalt.  */
-                                                          return 3434;
+                                                          return 3436;
                                                         }
                                                     }
                                                   else
@@ -17813,7 +17835,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0011xxxxx010xx1xxxxxxxxxx
                                                              fdot.  */
-                                                          return 3420;
+                                                          return 3422;
                                                         }
                                                     }
                                                   else
@@ -17884,7 +17906,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x11001x0001xxxxx100010xxxxxxxxxx
                                                                  fmlallbb.  */
-                                                              return 3425;
+                                                              return 3427;
                                                             }
                                                         }
                                                       else
@@ -17893,7 +17915,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x11001x0001xxxxx1000x1xxxxxxxxxx
                                                              fdot.  */
-                                                          return 3421;
+                                                          return 3423;
                                                         }
                                                     }
                                                   else
@@ -17902,7 +17924,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x0001xxxxx1100xxxxxxxxxxxx
                                                          fmlallbb.  */
-                                                      return 3426;
+                                                      return 3428;
                                                     }
                                                 }
                                               else
@@ -17911,7 +17933,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0001xxxxx1x01xxxxxxxxxxxx
                                                      fmlallbt.  */
-                                                  return 3427;
+                                                  return 3429;
                                                 }
                                             }
                                           else
@@ -17938,7 +17960,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x0101xxxxx100010xxxxxxxxxx
                                                                      fmlalb.  */
-                                                                  return 3423;
+                                                                  return 3425;
                                                                 }
                                                             }
                                                           else
@@ -17956,7 +17978,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0101xxxxx1100xxxxxxxxxxxx
                                                              fmlalltb.  */
-                                                          return 3430;
+                                                          return 3432;
                                                         }
                                                     }
                                                   else
@@ -17965,7 +17987,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x0101xxxxx1x01xxxxxxxxxxxx
                                                          fmlalt.  */
-                                                      return 3433;
+                                                      return 3435;
                                                     }
                                                 }
                                               else
@@ -17998,7 +18020,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x0011xxxxx100xx1xxxxxxxxxx
                                                          fdot.  */
-                                                      return 3419;
+                                                      return 3421;
                                                     }
                                                 }
                                               else
@@ -18007,7 +18029,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0011xxxxx110xxxxxxxxxxxxx
                                                      fmlallbt.  */
-                                                  return 3428;
+                                                  return 3430;
                                                 }
                                             }
                                           else
@@ -18039,7 +18061,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x0111xxxxx110xxxxxxxxxxxxx
                                                          fmlalltt.  */
-                                                      return 3432;
+                                                      return 3434;
                                                     }
                                                 }
                                               else
@@ -18338,7 +18360,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  111001x0xx1xxxxx001xxxxxxxxxxxxx
                                                  st1q.  */
-                                              return 3329;
+                                              return 3331;
                                             }
                                         }
                                       else
@@ -18353,7 +18375,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x0001xxxxx1010xxxxxxxxxxxx
                                                          fmlalltb.  */
-                                                      return 3429;
+                                                      return 3431;
                                                     }
                                                   else
                                                     {
@@ -18361,7 +18383,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x0001xxxxx1011xxxxxxxxxxxx
                                                          fmlalltt.  */
-                                                      return 3431;
+                                                      return 3433;
                                                     }
                                                 }
                                               else
@@ -20717,7 +20739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x1xx1xxxxx101100xxxxxxxxxx
                                                              luti2.  */
-                                                          return 3391;
+                                                          return 3393;
                                                         }
                                                     }
                                                   else
@@ -20726,7 +20748,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          010001x1xx1xxxxx101x10xxxxxxxxxx
                                                          luti2.  */
-                                                      return 3392;
+                                                      return 3394;
                                                     }
                                                 }
                                               else
@@ -20739,7 +20761,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x1xx1xxxxx101001xxxxxxxxxx
                                                              luti4.  */
-                                                          return 3393;
+                                                          return 3395;
                                                         }
                                                       else
                                                         {
@@ -20747,7 +20769,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x1xx1xxxxx101101xxxxxxxxxx
                                                              luti4.  */
-                                                          return 3394;
+                                                          return 3396;
                                                         }
                                                     }
                                                   else
@@ -20756,7 +20778,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          010001x1xx1xxxxx101x11xxxxxxxxxx
                                                          luti4.  */
-                                                      return 3395;
+                                                      return 3397;
                                                     }
                                                 }
                                             }
@@ -21707,7 +21729,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x1xx001000001x00xxxxxxxxxx
                                                                              f1cvt.  */
-                                                                          return 3353;
+                                                                          return 3355;
                                                                         }
                                                                       else
                                                                         {
@@ -21715,7 +21737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x1xx001000001x10xxxxxxxxxx
                                                                              bf1cvt.  */
-                                                                          return 3349;
+                                                                          return 3351;
                                                                         }
                                                                     }
                                                                   else
@@ -21726,7 +21748,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x1xx001000001x01xxxxxxxxxx
                                                                              f2cvt.  */
-                                                                          return 3354;
+                                                                          return 3356;
                                                                         }
                                                                       else
                                                                         {
@@ -21734,7 +21756,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x1xx001000001x11xxxxxxxxxx
                                                                              bf2cvt.  */
-                                                                          return 3350;
+                                                                          return 3352;
                                                                         }
                                                                     }
                                                                 }
@@ -21779,7 +21801,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1010001x00xxxxxxxxxx
                                                                          fcvtn.  */
-                                                                      return 3358;
+                                                                      return 3360;
                                                                     }
                                                                   else
                                                                     {
@@ -21787,7 +21809,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1010001x10xxxxxxxxxx
                                                                          bfcvtn.  */
-                                                                      return 3357;
+                                                                      return 3359;
                                                                     }
                                                                 }
                                                               else
@@ -21798,7 +21820,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1010001x01xxxxxxxxxx
                                                                          fcvtnb.  */
-                                                                      return 3359;
+                                                                      return 3361;
                                                                     }
                                                                   else
                                                                     {
@@ -21806,7 +21828,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1010001x11xxxxxxxxxx
                                                                          fcvtnt.  */
-                                                                      return 3360;
+                                                                      return 3362;
                                                                     }
                                                                 }
                                                             }
@@ -21867,7 +21889,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1001001x00xxxxxxxxxx
                                                                          f1cvtlt.  */
-                                                                      return 3355;
+                                                                      return 3357;
                                                                     }
                                                                   else
                                                                     {
@@ -21875,7 +21897,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1001001x10xxxxxxxxxx
                                                                          bf1cvtlt.  */
-                                                                      return 3351;
+                                                                      return 3353;
                                                                     }
                                                                 }
                                                               else
@@ -21886,7 +21908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1001001x01xxxxxxxxxx
                                                                          f2cvtlt.  */
-                                                                      return 3356;
+                                                                      return 3358;
                                                                     }
                                                                   else
                                                                     {
@@ -21894,7 +21916,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1001001x11xxxxxxxxxx
                                                                          bf2cvtlt.  */
-                                                                      return 3352;
+                                                                      return 3354;
                                                                     }
                                                                 }
                                                             }
@@ -23220,7 +23242,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x10x01xxxx111xxxxxxxxxxxxx
                                                          ld3q.  */
-                                                      return 3324;
+                                                      return 3326;
                                                     }
                                                   else
                                                     {
@@ -23228,7 +23250,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x11x01xxxx111xxxxxxxxxxxxx
                                                          ld4q.  */
-                                                      return 3325;
+                                                      return 3327;
                                                     }
                                                 }
                                             }
@@ -24401,7 +24423,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x10x1xxxxx100xxxxxxxxxxxxx
                                                      ld3q.  */
-                                                  return 3327;
+                                                  return 3329;
                                                 }
                                               else
                                                 {
@@ -24409,7 +24431,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x11x1xxxxx100xxxxxxxxxxxxx
                                                      ld4q.  */
-                                                  return 3328;
+                                                  return 3330;
                                                 }
                                             }
                                           else
@@ -26474,7 +26496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110100xxxxxxxx100xxxxxxxxxx
                                                          luti2.  */
-                                                      return 3387;
+                                                      return 3389;
                                                     }
                                                 }
                                             }
@@ -26488,7 +26510,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110010xxxxxxxx000xxxxxxxxxx
                                                          luti4.  */
-                                                      return 3389;
+                                                      return 3391;
                                                     }
                                                   else
                                                     {
@@ -26496,7 +26518,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110010xxxxxxxx100xxxxxxxxxx
                                                          luti4.  */
-                                                      return 3390;
+                                                      return 3392;
                                                     }
                                                 }
                                               else
@@ -26505,7 +26527,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      0x001110110xxxxxxxxx00xxxxxxxxxx
                                                      luti2.  */
-                                                  return 3388;
+                                                  return 3390;
                                                 }
                                             }
                                         }
@@ -26621,7 +26643,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110x00xxxxxx10001xxxxxxxxxx
                                                                  fmlallbb.  */
-                                                              return 3411;
+                                                              return 3413;
                                                             }
                                                           else
                                                             {
@@ -26629,7 +26651,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110x00xxxxxx10001xxxxxxxxxx
                                                                  fmlalltb.  */
-                                                              return 3413;
+                                                              return 3415;
                                                             }
                                                         }
                                                       else
@@ -26640,7 +26662,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110x10xxxxxx10001xxxxxxxxxx
                                                                  fmlallbt.  */
-                                                              return 3412;
+                                                              return 3414;
                                                             }
                                                           else
                                                             {
@@ -26648,7 +26670,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110x10xxxxxx10001xxxxxxxxxx
                                                                  fmlalltt.  */
-                                                              return 3414;
+                                                              return 3416;
                                                             }
                                                         }
                                                     }
@@ -26736,7 +26758,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110x00xxxxxx11101xxxxxxxxxx
                                                                  fcvtn.  */
-                                                              return 3344;
+                                                              return 3346;
                                                             }
                                                           else
                                                             {
@@ -26744,7 +26766,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110x00xxxxxx11101xxxxxxxxxx
                                                                  fcvtn2.  */
-                                                              return 3345;
+                                                              return 3347;
                                                             }
                                                         }
                                                       else
@@ -26753,7 +26775,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110x10xxxxxx11101xxxxxxxxxx
                                                              fcvtn.  */
-                                                          return 3346;
+                                                          return 3348;
                                                         }
                                                     }
                                                 }
@@ -26896,7 +26918,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110x00xxxxxx11111xxxxxxxxxx
                                                              fdot.  */
-                                                          return 3403;
+                                                          return 3405;
                                                         }
                                                       else
                                                         {
@@ -26906,7 +26928,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  0x001110010xxxxxx11111xxxxxxxxxx
                                                                  fdot.  */
-                                                              return 3405;
+                                                              return 3407;
                                                             }
                                                           else
                                                             {
@@ -26916,7 +26938,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00001110110xxxxxx11111xxxxxxxxxx
                                                                      fmlalb.  */
-                                                                  return 3407;
+                                                                  return 3409;
                                                                 }
                                                               else
                                                                 {
@@ -26924,7 +26946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01001110110xxxxxx11111xxxxxxxxxx
                                                                      fmlalt.  */
-                                                                  return 3408;
+                                                                  return 3410;
                                                                 }
                                                             }
                                                         }
@@ -27198,7 +27220,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110110xxxxx0x1111xxxxxxxxxx
                                                              fscale.  */
-                                                          return 3347;
+                                                          return 3349;
                                                         }
                                                     }
                                                 }
@@ -28590,7 +28612,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x0101110001xxxx1011110xxxxxxxxxx
                                                                          f1cvtl.  */
-                                                                      return 3340;
+                                                                      return 3342;
                                                                     }
                                                                   else
                                                                     {
@@ -28598,7 +28620,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1101110001xxxx1011110xxxxxxxxxx
                                                                          f1cvtl2.  */
-                                                                      return 3341;
+                                                                      return 3343;
                                                                     }
                                                                 }
                                                               else
@@ -28609,7 +28631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x0101110101xxxx1011110xxxxxxxxxx
                                                                          bf1cvtl.  */
-                                                                      return 3336;
+                                                                      return 3338;
                                                                     }
                                                                   else
                                                                     {
@@ -28617,7 +28639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1101110101xxxx1011110xxxxxxxxxx
                                                                          bf1cvtl2.  */
-                                                                      return 3337;
+                                                                      return 3339;
                                                                     }
                                                                 }
                                                             }
@@ -28631,7 +28653,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x0101110011xxxx1011110xxxxxxxxxx
                                                                          f2cvtl.  */
-                                                                      return 3342;
+                                                                      return 3344;
                                                                     }
                                                                   else
                                                                     {
@@ -28639,7 +28661,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1101110011xxxx1011110xxxxxxxxxx
                                                                          f2cvtl2.  */
-                                                                      return 3343;
+                                                                      return 3345;
                                                                     }
                                                                 }
                                                               else
@@ -28650,7 +28672,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x0101110111xxxx1011110xxxxxxxxxx
                                                                          bf2cvtl.  */
-                                                                      return 3338;
+                                                                      return 3340;
                                                                     }
                                                                   else
                                                                     {
@@ -28658,7 +28680,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1101110111xxxx1011110xxxxxxxxxx
                                                                          bf2cvtl2.  */
-                                                                      return 3339;
+                                                                      return 3341;
                                                                     }
                                                                 }
                                                             }
@@ -30657,7 +30679,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx1011101x1xxxxx111111xxxxxxxxxx
                                                              fscale.  */
-                                                          return 3348;
+                                                          return 3350;
                                                         }
                                                     }
                                                 }
@@ -32373,7 +32395,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx00111100xxxxxx0000x0xxxxxxxxxx
                                                          fdot.  */
-                                                      return 3404;
+                                                      return 3406;
                                                     }
                                                   else
                                                     {
@@ -32403,7 +32425,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx00111101xxxxxx0000x0xxxxxxxxxx
                                                          fdot.  */
-                                                      return 3406;
+                                                      return 3408;
                                                     }
                                                   else
                                                     {
@@ -32413,7 +32435,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x000111111xxxxxx0000x0xxxxxxxxxx
                                                              fmlalb.  */
-                                                          return 3409;
+                                                          return 3411;
                                                         }
                                                       else
                                                         {
@@ -32421,7 +32443,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x100111111xxxxxx0000x0xxxxxxxxxx
                                                              fmlalt.  */
-                                                          return 3410;
+                                                          return 3412;
                                                         }
                                                     }
                                                 }
@@ -32963,7 +32985,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x010111100xxxxxx1000x0xxxxxxxxxx
                                                              fmlallbb.  */
-                                                          return 3415;
+                                                          return 3417;
                                                         }
                                                       else
                                                         {
@@ -32971,7 +32993,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x110111100xxxxxx1000x0xxxxxxxxxx
                                                              fmlalltb.  */
-                                                          return 3417;
+                                                          return 3419;
                                                         }
                                                     }
                                                   else
@@ -33002,7 +33024,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0101111x1xxxxxx1000x0xxxxxxxxxx
                                                          fmlallbt.  */
-                                                      return 3416;
+                                                      return 3418;
                                                     }
                                                   else
                                                     {
@@ -33010,7 +33032,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1101111x1xxxxxx1000x0xxxxxxxxxx
                                                          fmlalltt.  */
-                                                      return 3418;
+                                                      return 3420;
                                                     }
                                                 }
                                             }
index 56a6c9d6e829e30cda791388f81727a925ad4f06..7089f1675527899035cee462cc403af706a6c5be 100644 (file)
@@ -6643,6 +6643,8 @@ const struct aarch64_opcode aarch64_opcode_table[] =
   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("uzpq1",0x4400e800, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
+  SVE2p1_INSN("uzpq2",0x4400ec00, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
 
   SVE2p1_INSN("ld1q",0xc400a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_QZD, F_OD (1), 0),
   SVE2p1_INSN("ld2q",0xa490e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_QZU, F_OD (2), 0),